是否有单个命令来确定变量是否是已定义集的一部分



有点难以表达这个问题,但例如,说我想要这样的东西:

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

相关内容

最新更新