20

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

我的尝试(笑):

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 的项目,而不是以它开头的行。

4

3 回答 3

55

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

 int index = txtLines.FindIndex(x => x.StartsWith("whatever"));
于 2013-05-14T03:37:37.197 回答
2

如果您的 txtLines 是列表类型,则需要将其放入循环中,然后检索值

int index = 1;
foreach(string line in txtLines) {
     if(line.StartsWith(npcID)) { break; }
     index ++;
}
于 2013-05-14T03:40:35.160 回答
-1

假设 txtLines 已填满,现在:

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

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

于 2013-05-14T05:29:59.180 回答