Ответ 1
Если вы хотите "StartsWith", вы можете использовать FindIndex
int index = txtLines.FindIndex(x => x.StartsWith("whatever"));
Итак, что я пытаюсь сделать, это получить индекс первого элемента в списке, который начинается с "что угодно", я не уверен, как это сделать.
Моя попытка (lol):
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, а не строке, начинающейся с него.
Если вы хотите "StartsWith", вы можете использовать FindIndex
int index = txtLines.FindIndex(x => x.StartsWith("whatever"));
если ваш txtLines является типом списка, вам нужно поместить его в цикл, после чего получить значение
int index = 1;
foreach(string line in txtLines) {
if(line.StartsWith(npcID)) { break; }
index ++;
}
Предположим, что 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();