मैं इससी # कास्टिंग सूची <ushort> सूची में <short>
List<ushort> uList = new List<ushort>() { 1, 2, 3 };
List<short> sList = uList.Cast<short>().ToList();
क्या करना चाहते हैं, लेकिन मैं InvalidCastException मिल "निर्दिष्ट डाली मान्य नहीं है।"
मैं उपर्युक्त संग्रह को तेज़ और कुशल कैसे बना सकता हूं?
धन्यवाद।
[पेचीदा Enumerable.Cast InvalidCastException] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/445471/puzzling-enumerable-cast-invalidcastexception) – Ani
@ एनी: मैं उस पर एक डुप्लिकेट नहीं मानूंगा क्योंकि मुझे पता है कि आप 'int' को 'लंबा' नहीं डाल सकते हैं (वे अलग-अलग आकार हैं), लेकिन मैं उम्मीद करता हूं कि 'ushort' से' short' तक कास्ट होगा संभव है क्योंकि वे एक ही आकार के हैं। दूसरे शब्दों में, '(ushort []) (ऑब्जेक्ट) नया छोटा [] {0, -1} 'पूरी तरह मान्य सी # है। – Gabe
@Gabe: यह वही मुद्दा है। '(लघु) ((ushort) 1)' वैध सी # है जैसा कि (लंबी) ((int) 1) '(स्पष्टता के लिए अनावश्यक कलाकार) है। मुद्दा संख्यात्मक रूपांतरण और अनबॉक्सिंग मिश्रण के साथ करना है। http://blogs.msdn.com/b/ericlippert/archive/2009/03/19/representation-and-identity.aspx – Ani