我有一个数据数组,我知道它只包含我搜索的值之一,但我想知道数组中哪个位置保存了值,这样我就可以在另一个数组中找到相应的数据。
像这样的东西
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;
}
}
这看起来似乎很容易,但我似乎无法找到。
非常感谢任何帮助。
答案 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);