2010-12-08 19 views
40

quiero recuperar el índice de una matriz, pero sé solo una parte del valor real en la matriz, por ejemplo, estoy almacenando el nombre del autor dinámicamente en la matriz, decir "author = ' xyz '" quiero encontrar el índice del elemento de la matriz que contiene algo así como autor, ya que no conozco la parte de valor de cómo hacer esto.Obteniendo el índice de un artículo particular en el arreglo

+0

¿Nos puede dar un ejemplo? – Ani

+0

¿estás usando 'Array' o' string [] '? – hunter

+0

es una cadena [] y quiero encontrar algo Array.Indexof (arrFilter, "autor") aquí autor no es el valor completo más bien una parte del valor completo – Mac

Respuesta

79

Puede utilizar FindIndex

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

Editar: Veo que tiene un conjunto de cuerdas, se puede utilizar cualquier código para que coincida, aquí un ejemplo con un simple contiene:

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

Tal vez necesitas unir usando un regular expression?

7

tratar Array.FindIndex(myArray, x => x.Contains("author");

5
 int i= Array.IndexOf(temp1, temp1.Where(x=>x.Contains("abc")).FirstOrDefault()); 
4

Las respuestas anteriores sólo funcionará si se conoce el valor exacto que está buscando - los estados de preguntas que sólo se conoce un valor parcial.

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

Esto devolverá el índice del primer elemento que contenga "xyz".

Cuestiones relacionadas