有条件地检查数组是不是等于特定值[重复]

Posted

技术标签:

【中文标题】有条件地检查数组是不是等于特定值[重复]【英文标题】:Conditional to check if array is equal to a particular value [duplicate]有条件地检查数组是否等于特定值[重复] 【发布时间】:2021-12-16 04:21:51 【问题描述】:

我希望这段代码能将“无爱好”写入控制台。但是,没有任何输出。这是为什么呢?

string[] hobbies = new string[0];
if (hobbies == new string[0])
  
    Console.WriteLine("no hobbies");
  

【问题讨论】:

数组是引用类型,这意味着,即使您创建两个具有相同元素的数组,它们也是两个不同的对象。如果要比较元素,可以使用例如SequenceEquals 如果您只是想检查数组是否为空,请执行 if(hobbies.Length == 0) 或使用 Linq if(!hobbies.Any()) 【参考方案1】:

您正在比较数组,== 在这种情况下比较 references 而不是值。如果你想比较数组的内容,你可以使用SequenceEqual:

hobbies.SequenceEqual(new string[0])

【讨论】:

当然,但是为了可读性,我宁愿使用hobbies.Length == 0【参考方案2】:

可以使用 array.Equal(another_array) 或 array.SequenceEqual(another_array) 比较数组内容。 试试这个:

static void Main(string[] args)
    
        string[] hobbies = new string [0];
        if(hobbies.SequenceEqual(new string[0]))
        
            Console.WriteLine("no hobbies");
        

        Console.ReadKey();
    

【讨论】:

接受的答案已经包含您提供的解决方案。如果您认为答案能更好地回答问题,请使用更多信息编辑您的答案。

以上是关于有条件地检查数组是不是等于特定值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

php检查数组中的特定值是不是包含大于0的值[重复]

在Python中检查二维数组中的所有元素是不是等于1 [重复]

在 Javascript 中,如何检查数组是不是有重复值?

检查firebase子项是不是具有特定值[重复]

mongodb:查询以检查数组中的项目是不是包含特定字符串[重复]

检查命令的标准输出,如果等于值,则停止循环[重复]