如何在c#中查找数组中项的位置

时间:2016-04-17 07:01:57

标签: c# arrays search

我有一个数据数组,我知道它只包含我搜索的值之一,但我想知道数组中哪个位置保存了值,这样我就可以在另一个数组中找到相应的数据。

像这样的东西

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;
    } 
}

这看起来似乎很容易,但我似乎无法找到。

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:3)

只做

result = i;

我是数组中的位置。

答案 1 :(得分:1)

执行此操作时,您可能希望优化代码:

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
   } 
}

答案 2 :(得分:1)

简短的方法是使用Array.IndexOf方法:

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