web-dev-qa-db-ja.com

リスト内の文字列のインデックスを見つける方法

だから私がやろうとしているのは、リストの最初の項目のインデックスを取得することです。これは「何でも」で始まりますが、これを行う方法はわかりません。

私の試み(笑):

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に等しいアイテムを探しているようだから間違っています。

19
Simon Taylor

「StartsWith」が必要な場合は、FindIndexを使用できます

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

txtLinesがリストタイプの場合、ループに入れてから値を取得する必要があります

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