c#检查列表中的所有字符串是否相同
可能重复:
检查列表中的所有项目是否相同
我有一个清单:
{string, string, string, string}
我需要检查此列表中的所有项是否相同然后返回true,否则返回false。
我可以用LINQ做到这一点吗?
var allAreSame = list.All(x => x == list.First());
var allAreSame = list.Distinct().Count() == 1;
或者更优化一点
var allAreSame = list.Count == 0 || list.All(x => x == list[0]);
这个怎么样:
string[] s = { "same", "same", "same" }; if (s.Where(x => x == s[0]).Count() == s.Length) { return true; }
var hasIdenticalItems = list.Count() <= 1 || list.Distinct().Count() == 1;