Suchen im Array (C#)


#1
Hallo,

ich habe ein ganz normales eindimensionales Array in C# z.B. wie folgt initialisiert.

string[] arrVertices = new string[5] {A,B,C,D,E};

Wie kann ich in solch einem Array z.B. nach dem Wert C suchen und mir den entsprechenden Index zurückgeben lassen?

Vielen Dank schonmal.
 
#2
Code:
int DerIndex;

for (int i = 0; i < arrVertices.Length; i++)
{
   if (arrVertices[i] == "A")
   {
      DerIndex = i;
      break;
   }
}
so kann man es wohl machen..

mfg,
crazy-weasel

p.s.:
ob Length groß oder kleigeschrieben wird .. hm.. bin mir grad nicht sicher ..
 

goela

Erfahrenes Mitglied
#3
Es geht eleganter! C# bietet in der Array-Klasse die Methode BinarySearch. Damit lässt sich sehr bequem suchen!

Code:
static void Main(string[] args)
{
	string[] arrVertices = new string[5] {"A","B","C","D","E"};

	Object Search = "C";
	int myIndex=Array.BinarySearch( arrVertices, Search );
	if ( myIndex < 0 )
		Console.WriteLine( "Das Gesuchte ({0}) wurde nicht gefunden.", Search);
	else
		Console.WriteLine( "Das Gesuchte ({0}) wurde an Index {1} gefunden.", Search, myIndex );

	Console.Read();
}