8
Class order {
Guid Id;
int qty;
}

qtyLINQ式を使用して、リスト内のすべての注文で同じであるかどうかを確認するにはどうすればよいですか?

前もって感謝します!

4

2 に答える 2

23

使用できますGroupBy

bool allEqual = orders.GroupBy(o => o.qty).Count() == 1;

または、少し効率的ですが、読みにくくなります。

bool allEqual = !orders.GroupBy(o => o.qty).Skip(1).Any();

または、次を使用すると間違いなくより効率的Enumerable.Allです。

int firstQty = orders.First().qty;  // fyi: throws an exception on an empty sequence
bool allEqual = orders.All(o => o.qty == firstQty); 
于 2012-11-11T22:57:28.617 に答える