比较许多列表的大小(Count)

Cus*_*dio 9 c# list

我想知道我是否可以优雅而快速地比较许多列表的大小.

基本上这是我的问题,我需要声明6个列表具有相同的大小.所以通常的方式是(警告丑陋的代码..):

if (list1.Count == list2.Count && list1.Count == list3.Count && .....) {
    //ok, so here they have same size.
}
Run Code Online (Sandbox Code Playgroud)

这里有一些绝地替代品吗?

Dea*_*nes 9

all()方法应该可以解决这个问题:http: //msdn.microsoft.com/en-us/library/bb548541.aspx.

我认为代码应该是这样的:

(new[] {list1, list2, list3, list4, list5, list6}).
All(list => list.Count == list1.Count);
Run Code Online (Sandbox Code Playgroud)


Ahm*_*eed 7

使用Enumerable.All您可以检查所有列表是否符合相同的条件:

var allLists = new[] { list1, list2, list3 };
bool result = allLists.All(l => l.Count == allLists[0].Count);
Run Code Online (Sandbox Code Playgroud)

或者作为单行,但您需要参考特定列表:

bool result = (new[] { list1, list2, list3 }).All(l => l.Count == list1.Count);
Run Code Online (Sandbox Code Playgroud)