我想知道我是否可以优雅而快速地比较许多列表的大小.
基本上这是我的问题,我需要声明6个列表具有相同的大小.所以通常的方式是(警告丑陋的代码..):
if (list1.Count == list2.Count && list1.Count == list3.Count && .....) {
//ok, so here they have same size.
}
Run Code Online (Sandbox Code Playgroud)
这里有一些绝地替代品吗?
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)
使用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)