-1

很难说出这个问题,但例如,说我想要类似的东西:

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

有没有更清洁或更优雅的方式来做到这一点?

4

4 回答 4

1

您可以使用Contains()System.Linq命名空间中使用:

int x = 5;
int[] z = new {1,12,22,56};

if (z.Contains(x)) 
{
     // do your stuff here...
}
于 2012-10-15T21:29:36.040 回答
1

C# 的答案可能是:

using System.linq;
...
if (z.Any(i => i == x))
{
    // Do your stuff here.
}
于 2012-10-15T21:17:10.537 回答
-1

循环遍历数组。像 For(int i=0, i

于 2012-10-15T21:18:28.777 回答
-1

我相信您正在尝试找出整数值数组中是否存在整数值。如果数组已排序,则应使用二分搜索算法来查找该值。如果不是(并且您不想对其进行排序),则可以使用简单的 for 循环来查找所需的值:

int findValue(int value, int array[], int size) {

    for (int i = 0; i < size; ++i) {
        if (array[i] == value) {
            return i;
        }
    }

    return -1;
}
于 2012-10-15T21:15:48.897 回答