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