C# 在数组中搜索特定编号的特定索引

C# 在数组中搜索特定编号的特定索引,c#,arrays,winforms,indexing,C#,Arrays,Winforms,Indexing,您好,有一种方法可以检查C#中特定数字的特定整数数组索引;例如,我希望能够工作的是: if(si[6] || si[7] || si[8] == 3) { MessageBox.Show("3 detected") } else { continue(); { 显然这不起作用。有没有干净的方法可以做到这一点?感谢您的关注。最简单的方法是进行三次单独检查: if (si[6] == 3 || si[7] == 3 || s

您好,有一种方法可以检查C#中特定数字的特定整数数组索引;例如,我希望能够工作的是:

    if(si[6] || si[7] || si[8] == 3)
     {
      MessageBox.Show("3 detected")
     }
    else
    {
     continue();
    {

显然这不起作用。有没有干净的方法可以做到这一点?感谢您的关注。

最简单的方法是进行三次单独检查:

if (si[6] == 3 || si[7] == 3 || si[8] == 3)

您可以使用带有参数的方法更整洁地执行此操作:

public static bool HasValue(int value, params int[] itemsToCheck)
{
    bool valueDetected = false;
    foreach(var item in itemsToCheck)
    {
        valueDetected |= item == value;
    }

    return valueDetected;
}
那么你可以这样称呼它:

if (HasValue(3, si[6], si[7], si[8]))
{

}

可以使用Array.IndexOf函数查找整数的索引。如果数组有整数,那么它将返回索引,否则它将返回-1

像这样 int[]a=新的int[]{1,2};
int c=Array.IndexOf(a,2)字典<代码>将生效。考虑首先执行边界检查。他希望在特定的<代码>索引< /代码>中搜索数据,而不是在整个数组中。
if (HasValue(3, si[6], si[7], si[8]))
{

}