2010-12-08 17 views
40

Ich möchte den Index eines Arrays abrufen, aber ich kenne nur einen Teil des tatsächlichen Wertes im Array zum Beispiel Ich speichere den Autorennamen dynamisch im Array array = "author = ' xyz '" Ich möchte den Index von Array-Element mit etwas wie Autor, wie ich nicht den Wert Teil wie dies tun zu finden.Den Index eines bestimmten Elements im Array abrufen

+0

Können Sie uns ein Beispiel geben? – Ani

+0

verwenden Sie 'Array' oder' string [] '? – hunter

+0

es ist ein String [] und ich möchte etwas finden Array.Indexof (arrFilter, "Autor") hier Autor ist nicht der komplette Wert eher ein Teil des vollständigen Wertes – Mac

Antwort

79

Sie FindIndex

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

bearbeiten können: Ich sehe Sie ein Array von String haben, können Sie einen beliebigen Code verwenden, um übereinstimmen, hier ein Beispiel mit einem einfachen enthält:

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

Vielleicht Sie müssen mit einem regular expression übereinstimmen?

7

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

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

Die bisherigen Antworten wird nur funktionieren, wenn Sie den genauen Wert kennen Sie suchen - die Frage besagt, dass nur ein Teilwert bekannt ist.

Dies wird den Index des ersten Elements mit "xyz" zurückgeben.

Verwandte Themen