有点难以表达这个问题,但例如,说我想要这样的东西:
int x = 5;
int z[] = {1,12,22,56};
if ((x==z[0]) || (x==z[1]) || (x==z[2]) || (x==z[3])) {
[self fooOnYou:x]
}
有没有更干净或更优雅的方法可以做到这一点?
C# 答案可能是:
using System.linq;
...
if (z.Any(i => i == x))
{
// Do your stuff here.
}
您可以在 System.Linq
命名空间中使用Contains()
:
int x = 5;
int[] z = new {1,12,22,56};
if (z.Contains(x))
{
// do your stuff here...
}
我相信
您正在尝试找出整数值数组中是否存在整数值。如果数组已排序,则应使用二叉搜索算法来查找该值。如果不是(并且您不想对其进行排序),则可以使用简单的 for 循环来查找所需的值:
int findValue(int value, int array[], int size) {
for (int i = 0; i < size; ++i) {
if (array[i] == value) {
return i;
}
}
return -1;
}
循环遍
历数组。类似的东西for(int i=0, i