Подтвердить что ты не робот

Получение индекса определенного элемента в массиве

Я хочу получить индекс массива, но я знаю только часть фактического значения в массиве, например, я храню имя автора в массиве, динамически говорю "author = 'xyz'" Я хочу найти индекс элемента массива, содержащий что-то вроде автора, поскольку я не знаю часть значения, как это сделать.

4b9b3361

Ответ 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".