尝试这个:
bool sameLength = (collections.Select(c => c.Count())
.Distinct()
.Take(2) // Optional (for optimization).
.Count()) == 1;
Run Code Online (Sandbox Code Playgroud)
或者:
bool sameLength = !collections.Select(c => c.Count()).Distinct().Skip(1).Any();
Run Code Online (Sandbox Code Playgroud)
它的工作原理是检查每个集合的长度并跟踪唯一值。有一个不同的计数是可以的,但如果有两个(或更多)不同的计数,则所有集合的长度不相同,因此结果为 false。
更新:如果集合具有不同类型,您可以使用非通用接口,如本答案所示。
var collections = new List<ICollection> { a, b, c, d };
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
332 次 |
| 最近记录: |