2010-12-08 2 views
40

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

+0

Можете ли вы привести нам пример? – Ani 2010-12-08 14:33:55

ответ

79

Вы можете использовать FindIndex

var index = Array.FindIndex(myArray, row => row.Author == "xyz"); 

Edit: Я вижу, у вас есть массив строки, вы можете использовать любой код, чтобы соответствовать, вот пример с простой содержит:

var index = Array.FindIndex(myArray, row => row.Contains("Author='xyz'")); 

Может быть вам нужно сопоставить с помощью regular expression?

7

попробовать Array.FindIndex(myArray, x => x.Contains("author");

4

предыдущие ответы будут работать только если вы знаете точное значение, которое вы ищете - состояния вопроса, который известен только частичное значение.

Array.FindIndex(authors, author => author.Contains("xyz")); 

Это вернет индекс первого элемента, содержащего «xyz».

Смежные вопросы