Я хочу получить индекс массива, но я знаю только часть фактического значения в массиве, например, я храню имя автора в массиве, динамически говорю "author = 'xyz'" Я хочу найти индекс элемента массива, содержащий что-то вроде автора, поскольку я не знаю часть значения, как это сделать.
Получение индекса определенного элемента в массиве
Ответ 1
Вы можете использовать FindIndex
var index = Array.FindIndex(myArray, row => row.Author == "xyz");
Изменить: я вижу, что у вас есть массив строк, вы можете использовать любой код для соответствия, здесь пример с простым содержит:
var index = Array.FindIndex(myArray, row => row.Contains("Author='xyz'"));
Возможно, вам нужно сопоставить с помощью регулярное выражение?
Ответ 2
попробуйте Array.FindIndex(myArray, x => x.Contains("author");
Ответ 3
int i= Array.IndexOf(temp1, temp1.Where(x=>x.Contains("abc")).FirstOrDefault());
Ответ 4
Предыдущие ответы будут работать только в том случае, если вы знаете точное значение, которое вы ищете, - в вопросе говорится, что известно только частичное значение.
Array.FindIndex(authors, author => author.Contains("xyz"));
Это вернет индекс первого элемента, содержащего "xyz".