【问题标题】:How to check if an array contains a value stored in a variable如何检查数组是否包含存储在变量中的值
【发布时间】:2018-09-30 20:42:43
【问题描述】:

我尝试在谷歌上搜索答案,但无济于事。我是一般编码的新手,尤其是 c#,我正试图通过练习来掌握游戏规则。

所以,我要做的是检查一个数组是否包含 / 具有与先前声明的变量中存储的相同的值。如果有,代码会做一些事情,如果没有,代码会做其他事情。完成我想做的最简单的方法是什么?

非常感谢。

【问题讨论】:

标签: c# arrays .net


【解决方案1】:

如果要查看某个值是否在数组中,请使用Contains 函数。如果要检查数组是否相等,请使用StructuralComparisons.StructuralEqualityComparer。 (https://docs.microsoft.com/en-us/dotnet/api/system.collections.structuralcomparisons.structuralequalitycomparer?view=netframework-4.7.2)

代码

static void Main(string[] args)
{
int compValue = 5;
int[] values0 = { 1, 2, 5, 7, 8 };

void ContainsValue(int[] array, int valueToTest)
{
    bool isContained = array.Contains(valueToTest);
    if (isContained)
        Console.WriteLine($"{valueToTest} is in array");
    else
        Console.WriteLine($"{valueToTest} is not in array");
}

void CompareArrays(int[] array, int[] arrayToTest)
{
    var comparer = StructuralComparisons.StructuralEqualityComparer ;
    var areEqual = comparer.Equals(array, arrayToTest);

    Console.WriteLine("-------------");
    if (areEqual)
    {
        Console.WriteLine("Arrays are equal");
    }
    else
    {
        Console.WriteLine("Arrays are not equal");
    }
}
ContainsValue(values0, compValue);
int[] compArray1 = { 1, 2, 5, 7, 8 };
CompareArrays(values0, compArray1);
int[] compArray2 = { 1, 2, 5, 15, 8 };
CompareArrays(values0, compArray2);
CompareArrays(compArray2, values0);
}

还有输出:

5 is in array
-------------
Arrays are equal
-------------
Arrays are not equal
-------------
Arrays are not equal

【讨论】:

    【解决方案2】:

    这样的事情怎么样(注意,我是通过电话来的)

    var someVar =1;
    var myArray = new [] {1, 2, 3};
    bool doesItContain = myArray.Contains(someBar);
    

    如果您在输入 myArray 后按了点,那么“包含”将是建议之一。

    您可以直接在if 语句中使用,而不是盯着布尔变量中的结果。

    【讨论】:

      猜你喜欢
      • 2013-10-22
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-29
      • 2012-01-10
      • 2019-08-10
      • 2021-09-10
      相关资源
      最近更新 更多