2013-02-07 12 views
5

मैं एक सूची है,लिंक: मैं स्थिति के लिए <bool> सूची का परीक्षण कैसे करूं जहां इसके किसी भी मूल्य == सच है?

List<bool> MyList; 
MyList.Add(true); 
MyList.Add(false); 
MyList.Add(false); 

यदि कोई मूल्य सच है परीक्षण करने के लिए LINQ का उपयोग करने के लिए एक साफ तरीका क्या है? मैंने

MyList.Find(SomeBoolean=>SomeBoolean) 

लेकिन परिणाम अजीब है।

उत्तर

9

प्रयास करें:

bool test = MyList.Any(x => x); 

लेकिन आप कुछ भी डालने से पहले अपनी सूची को प्रारंभ करने के लिए है।

+2

MyList.Any (x => x == true); इस मामले में आईएमओ में स्पष्ट होने से कोई दिक्कत नहीं होती है। – David

4

उपयोग किसी भी

var anyTrue = MyList.Any(i => i); 
+0

अच्छा जवाब, धन्यवाद –

1

आप सभी true मूल्य

List<bool> MyList = new List<bool>(); 
MyList.Add(true); 
MyList.Add(false); 
MyList.Add(false); 
var listTrue = MyList.Where(c => c); 

मुझे आश्चर्य है, क्या है सूची चाहते हैं अपने वास्तविक Class क्योंकि अगर आप .Find करना चाहते हैं एक ही परिणाम है।

var b = MyList.Find(c => c) 

हो सकता है आप var या DataType घोषित करने के लिए भूल गए?

+0

अच्छा जवाब, धन्यवाद –

0

MyList bool की एक सूची है

MyList = getSelectedChannels(); सभी सूची सूचीबद्ध करें = myList.FindAll (a => a == true);

allTrue बूल की एक सूची होगी जो मानदंड से मेल खाता है (बूल सत्य है)। अब बस allTrue कहें। उस सूची में आइटम की संख्या प्राप्त करने के लिए गणना करें।