Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 查找返回的列表结果C的索引_C#_String_List_Indexing_Indexof - Fatal编程技术网

C# 查找返回的列表结果C的索引

C# 查找返回的列表结果C的索引,c#,string,list,indexing,indexof,C#,String,List,Indexing,Indexof,如何在列表中找到条目的索引。下面是我的代码 listFrom和listTo包含字符串项 我得到一个错误: 严重性代码说明项目文件行抑制状态 错误CS1503参数1:无法从“System.Collections.Generic.List”转换为“string” 这是因为当你调用listFrom.IndexOflineStart;它需要一个字符串。代码中的lineStart定义为字符串列表,因此您可能需要调用列表中的特定值,或者将lineStart更改为字符串。根据错误说明,它无法从“System.

如何在列表中找到条目的索引。下面是我的代码

listFrom和listTo包含字符串项

我得到一个错误:

严重性代码说明项目文件行抑制状态 错误CS1503参数1:无法从“System.Collections.Generic.List”转换为“string”


这是因为当你调用listFrom.IndexOflineStart;它需要一个字符串。代码中的lineStart定义为字符串列表,因此您可能需要调用列表中的特定值,或者将lineStart更改为字符串。

根据错误说明,它无法从“System.Collections.Generic.List”转换为“string”。然而,我从来都不知道SingleOrdEvent函数的存在

这一切都归功于@maccettura,尽管他不知道我想做什么!xD

答案的代码更改如下:

List<string> listFrom = new List<string>(); //Contains a list of strings
List<string> listTo = new List<string>(); //Contains a list of strings

string lineStart = listFrom.Except(listTo).SingleOrDefault();
string lineEnd = listFrom.Except(listTo).SingleOrDefault();

int startLineIndex = listFrom.IndexOf(lineStart);            //Error on this line
Console.WriteLine("Index of Start: " + startLineIndex);

你的名单都是空的。您想做什么?对于编译时错误,您不了解什么?该方法将字符串作为参数,您正在传入一个列表。listFrom.IndexOf需要一个字符串,您正在传入一个列表-错误消息在this@Stefan我不知道你想做什么。Except提供了两个列表之间差异的集合。如果确定结果集合中只有一个项目,请不要调用ToList,根据需要调用SingleOrDefault或FirstOrDefault。请务必查找它们之间的差异。@maccettura谢谢。SingleOrDefault满足我的要求。正确-将始终返回一个项目。我应该在我的问题中提到这一点。如果OP将lineStart更改为字符串,代码将无法编译。需要做的事情还有很多。请确保您知道SingleOrDefault的功能,如果由于某种原因导致您有多个项,它将抛出异常。供参考
List<string> listFrom = new List<string>(); //Contains a list of strings
List<string> listTo = new List<string>(); //Contains a list of strings

string lineStart = listFrom.Except(listTo).SingleOrDefault();
string lineEnd = listFrom.Except(listTo).SingleOrDefault();

int startLineIndex = listFrom.IndexOf(lineStart);            //Error on this line
Console.WriteLine("Index of Start: " + startLineIndex);