2011-06-01 13 views

उत्तर

12
var badList = new[] { v1, v4, v7, v11 }; 
var result = !badList.Contains(trsaz); 
+0

कैसे मैं निर्माता के माध्यम से गुजर नियंत्रण के लिए यह करना होगा: con.control.v1, con.control.v4, con.control.v7, con.control.v11? – divfe

+0

आपको इस 'var badList = new [] {con.control.v1, con.control.v4, con.control.v7, con.control.v11} जैसे सरणी बनाने में सक्षम होना चाहिए;' यदि नहीं, तो क्या आप अपने कन्स्ट्रक्टर हस्ताक्षर पोस्ट करें? –

+0

हाँ, नाम – divfe

2
var excludeList = new[] { "v1", "v4", "v7", "v11" }; 
if(!excludeList.Contains(trsaz)) 
{ 
    ... 
} 
0

वास्तव में, मैं उस के लिए एक छोटे से विस्तार विधि बनाने पसंद करते हैं:

public static bool IsIn<T>(this T obj, params T[] set) { 
    return set.Any(el => element.Equals(obj));   
} 

यह सब काला जादू समाहित करने और अपने कोड वास्तव में संक्षिप्त में आता है जो अपने लक्ष्य को स्पष्ट रूप से है:

if (!trsaz.IsIn(v1, v4, v7, v11)) { 
    // ... 
} 

यदि यह महत्वपूर्ण नहीं है, तो यह तंत्र को छिपाना हमेशा अच्छा होता है, खासकर इस मामले में जहां इसका उपयोग एनई तंत्र बिल्कुल जरूरी नहीं है और कुछ लोगों को भ्रमित करेगा जो आपके कोड को बनाए रखेंगे।

0
var result = (new[] {v1, v4, v7}).Every(o => o != trsaz); 
संबंधित मुद्दे