如何在列表中查找字符串的索引

时间:2013-05-14 03:31:15

标签: c# string list indexing

所以我正在尝试做的是检索列表中第一个项目的索引,该索引以“what”开头,我不知道该怎么做。

我的尝试(笑):

List<string> txtLines = new List<string>();
//Fill a List<string> with the lines from the txt file.
foreach(string str in File.ReadAllLines(fileName)) {
  txtLines.Add(str);
}
//Insert the line you want to add last under the tag 'item1'.
int index = 1;
index = txtLines.IndexOf(npcID);

是的,我知道它不是真的,它是错的,因为它似乎在寻找一个等于npcID的项目,而不是以它开头的行。

3 个答案:

答案 0 :(得分:49)

如果您想要“StartsWith”,可以使用FindIndex

 int index = txtLines.FindIndex(x => x.StartsWith("whatever"));

答案 1 :(得分:2)

如果你的txtLines是一个List Type,你需要把它放在一个循环中,之后检索值

int index = 1;
foreach(string line in txtLines) {
     if(line.StartsWith(npcID)) { break; }
     index ++;
}

答案 2 :(得分:-1)

假设txtLines已填满,现在:

 List<int> index = new List<int>();
 for (int i = 0; i < txtLines.Count(); i++ )
         {
           index.Add(i);
         }

现在你有一个int列表包含所有txtLines元素的索引。您可以通过以下代码调用List<int> index的第一个元素:index.First();