2010-12-08 5 views
40

Je veux récupérer l'index d'un tableau mais je ne connais qu'une partie de la valeur réelle dans le tableau par exemple je stocke dynamiquement le nom de l'auteur dans le tableau dire "author = ' xyz '" je veux trouver l'index de l'élément de tableau contenant quelque chose comme l'auteur car je ne sais pas la partie de la valeur comment faire cela.Obtenir l'index d'un élément particulier dans le tableau

+0

Pouvez-vous nous donner un exemple? – Ani

+0

utilisez-vous 'Array' ou' string [] '? – hunter

+0

c'est une chaîne [] et je veux trouver quelque chose Array.Indexof (arrFilter, "auteur") ici auteur n'est pas la valeur complète plutôt une partie de la valeur complète – Mac

Répondre

79

Vous pouvez utiliser FindIndex

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

Edit: Je vois que vous avez un tableau de chaînes, vous pouvez utiliser le code pour correspondre, voici un exemple avec un simple CONTIENT:

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

Peut-être vous devez faire correspondre à l'aide d'un regular expression?

7

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

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

Les réponses précédentes ne fonctionnera que si vous connaissez la valeur exacte que vous recherchez - les Etats qui ne question une valeur partielle est connue.

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

Cela retournera l'index du premier élément contenant "xyz".

Questions connexes