2013-07-27 11 views
5

Mam listę zmian i chcę sprawdzić, czy każdy z nich jest ustawiony na true. Mogę uruchomić pętlę i sprawdzić to w ten sposób, ale chcę spróbować zrobić to za pomocą metody TrueForAll z listy. Potrzebuję predykatu, ale nie mogłem znaleźć jasnego przykładu dla tak prostego zadania jak to.Jak korzystać z TrueForAll

Odpowiedz

11

Zastosowanie All:

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

Powróci false jedną pierwszą false.

Jednakże, ponieważ w rzeczywistości za pomocą List<bool> można również użyć List.TrueForAll w podobny sposób:

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

Ale ponieważ jest ograniczony do listy wolałbym Enumerable.All.

+0

+1 dla równoczesnych identycznych odpowiedzi :) –

3

Jednym ze sposobów jest: Można użyć All ..

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

Jeśli wszystkie są true, result będzie true.

1

Prawdopodobnie jest to mylące, ponieważ jest to zbyt łatwe, jeśli tablica zawiera już wartości logicznych:

List<bool> booleans; 

booleans.TrueForAll(x => x); 

lub

booleans.All(x => x);