我有一个清单:
{string, string, string, string}
我需要检查此列表中的所有项是否相同然后返回true,否则返回false。
我可以使用LINQ吗?
答案 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;