c#检查列表中的所有字符串是否相同

时间:2011-07-13 15:24:41

标签: c# linq

  

可能重复:
  Check if all items are the same in a List

我有一个清单:

{string, string, string, string}

我需要检查此列表中的所有项是否相同然后返回true,否则返回false。

我可以使用LINQ吗?

4 个答案:

答案 0 :(得分:19)

var allAreSame = list.All(x => x == list.First());

答案 1 :(得分:3)

var allAreSame = list.Distinct().Count() == 1;

或更优化

var allAreSame = list.Count == 0 || list.All(x => x == list[0]);

答案 2 :(得分:1)

这个怎么样:

    string[] s = { "same", "same", "same" };
    if (s.Where(x => x == s[0]).Count() == s.Length)
    {
        return true;
    }

答案 3 :(得分:0)

var hasIdenticalItems = list.Count() <= 1 || list.Distinct().Count() == 1;