2013-07-27 22 views
5

Tôi có một danh sách các bool và tôi muốn kiểm tra xem mỗi cái có được đặt thành true hay không. Tôi có thể chạy một vòng lặp và kiểm tra nó theo cách đó nhưng tôi muốn cố gắng để làm điều đó với TrueForAll phương pháp của một danh sách. Tôi cần một vị ngữ cho điều đó nhưng tôi không thể tìm thấy một ví dụ rõ ràng cho một nhiệm vụ đơn giản như thế này.Cách sử dụng TrueForAll

Trả lời

11

Sử dụng All:

bool alltrue = listOfBools.All(b => b); 

Nó sẽ trở lại false một người đầu tiên false.

Tuy nhiên, kể từ khi bạn đang thực sự sử dụng một List<bool> bạn cũng có thể sử dụng List.TrueForAll theo cách tương tự:

bool alltrue = listOfBools.TrueForAll(b => b); 

Nhưng vì đó là giới hạn trong một danh sách tôi muốn Enumerable.All.

+0

+1 cho câu trả lời giống hệt nhau đồng thời :) –

3

Một cách là: Bạn có thể sử dụng All ..

var result = list.All(x => x); 

Nếu tất cả đều true, result sẽ true.

1

Có lẽ đó là khó hiểu bởi vì nó quá dễ dàng nếu bạn mảng đã có chứa các phép toán luận:

List<bool> booleans; 

booleans.TrueForAll(x => x); 

hoặc

booleans.All(x => x);