2016-04-17 12 views
0

Ich habe ein Array von Daten, die ich weiß, enthält nur einen der Werte, die ich suche, aber ich möchte wissen, welche Position in dem Array diesen Wert gehalten wird also kann ich die entsprechenden Daten in einem anderen Array finden.So finden Sie die Position eines Elements in einem Array in C#

So etwas wie dieses

int[] data = new int[] { 2, 7, 4, 9, 1 }; 
int search = 4; 
int result; 

for (int i = 0; i < data.Length; i++) 
{ 
    if (data[i] == search) 
    { 
     result = data[i].Position; 
    } 
} 

Dies scheint sicher, wie etwas, das leicht getan werden würde, aber ich kann einfach nicht, wie zu finden scheinen.

Jede Hilfe mit diesem wird sehr geschätzt.

+0

Hier ist der C# Array-Referenz: https: // msdn .microsoft.com/de-de/library/system.array.aspx. Sie wollen "IndexOf" – Tibrogargan

Antwort

3

Just do

result = i; 

i die Position in der Matrix ist.

1

Möglicherweise möchten Sie Ihren Code optimieren, wenn dies zu tun:

int[] data = new int[] { 2, 7, 4, 9, 1 }; 
int search = 4; 
int result; 

for (int i = 0; i < data.Length; i++) 
{ 
    if (data[i] == search) 
    { 
     result = i; 
     break; //This will exit the loop after the first match 
       //If you do not do this, you will find the last match 
    } 
} 
1

Der kurze Weg ist es, die Array.IndexOf Methode zu verwenden:

int[] data = new int[] { 2, 7, 4, 9, 1 }; 
int search = 4; 
int index = Array.IndexOf(data, search); 
Verwandte Themen