है Iप्रकार परिवर्तनीय है।जांचें कि क्या IENumerable <object> IENumerable <int>
IEnumerable<object> items= new object[] { 1, 2, 3 };
यह जांचने का सबसे अच्छा तरीका क्या है कि यह IEnumerable<int>
है?
मैं
typeof(IEnumerable<int>).IsAssignableFrom(items.GetType())
typeof(IEnumerable<int>).IsInstanceOfType(items)
items is IEnumerable<int>
की कोशिश की लेकिन, फिर से अधिक पैना उन सब के बारे में शिकायत।
मेरे मामले में, IEnumerable<object> items
ज्यादातर मामलों में टाइप IEnumerable<int>
की है। और जब मैं IEnumerable<int>
टाइप करता हूं और अन्य प्रकार के लिए कुछ और करता हूं तो मैं कुछ करना चाहता था।
'आइटम' में प्रत्येक तत्व किसी भी प्रकार का हो सकता है, इसलिए आपको प्रत्येक तत्व को अलग-अलग जांचना होगा। आप जो चेक अब करते हैं वह केवल * प्रकार * पर लागू होता है जो सामग्री पर नहीं है। –
आप क्या हासिल करने की कोशिश कर रहे हैं? मुझे लगता है कि सबसे आसान होगा 'valueA.All (item => आइटम int है)' लेकिन एक xy समस्या – Sayse
की तरह लगता है INumerable