मैं कहना नहीं करना चाहती:कैसे मैं कहना नहीं है, नहीं है
(trsaz != v1) && (trsaz != v2) && ...
मैं चाहता हूँ की तरह कुछ:
trsaz != (v1, v4, v7, v11)
यह संभव है या वहाँ भी कुछ और !=
के अलावा है ।
मैं कहना नहीं करना चाहती:कैसे मैं कहना नहीं है, नहीं है
(trsaz != v1) && (trsaz != v2) && ...
मैं चाहता हूँ की तरह कुछ:
trsaz != (v1, v4, v7, v11)
यह संभव है या वहाँ भी कुछ और !=
के अलावा है ।
var badList = new[] { v1, v4, v7, v11 };
var result = !badList.Contains(trsaz);
var excludeList = new[] { "v1", "v4", "v7", "v11" };
if(!excludeList.Contains(trsaz))
{
...
}
वास्तव में, मैं उस के लिए एक छोटे से विस्तार विधि बनाने पसंद करते हैं:
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)) {
// ...
}
यदि यह महत्वपूर्ण नहीं है, तो यह तंत्र को छिपाना हमेशा अच्छा होता है, खासकर इस मामले में जहां इसका उपयोग एनई तंत्र बिल्कुल जरूरी नहीं है और कुछ लोगों को भ्रमित करेगा जो आपके कोड को बनाए रखेंगे।
var result = (new[] {v1, v4, v7}).Every(o => o != trsaz);
कैसे मैं निर्माता के माध्यम से गुजर नियंत्रण के लिए यह करना होगा: con.control.v1, con.control.v4, con.control.v7, con.control.v11? – divfe
आपको इस 'var badList = new [] {con.control.v1, con.control.v4, con.control.v7, con.control.v11} जैसे सरणी बनाने में सक्षम होना चाहिए;' यदि नहीं, तो क्या आप अपने कन्स्ट्रक्टर हस्ताक्षर पोस्ट करें? –
हाँ, नाम – divfe