क्या तरीका रेंज 'ए' ... "Z" की तरहसी # Enumerable रेंज
Enumerable.Range(1,100)
Enumerable.Range("A","Z");
क्या तरीका रेंज 'ए' ... "Z" की तरहसी # Enumerable रेंज
Enumerable.Range(1,100)
Enumerable.Range("A","Z");
Enumerable.Range('A', 26).Select(x => ((char)x).ToString())
ब्याज से 'ToString' को कॉल क्यों करें? मैं उम्मीद नहीं करता कि कुछ भी उपयोगी ... –
क्योंकि अन्यथा जब आप गणना करना शुरू करते हैं तो आपको स्ट्रिंग्स ("ए", "बी", ... के बजाय पूर्णांक/वर्ण (65, 66, ...) मिलेंगे।) जो अधिक व्यावहारिक होगा। –
गणना के दौरान 'ToString()' को कॉल करने की एक और संभावना है, लेकिन मैंने सोचा कि वापसी 'IEnumerable
संपादित प्राप्त करने के लिए है: डैरिन के संशोधन को शामिल अपडेट किया गया ...
.NET 3.5 SP1 में, इस काम किया है जाएगा:
Enumerable.Range('A', 26).Cast<char>()
हालांकि, Cast
changed for .NET 3.5 SP1 के व्यवहार, तो यह अब केवल संदर्भ के रूपांतरण unboxing रूपांतरण पर प्रदर्शन करती है। तो .NET 3.5SP1 और ऊपर के लिए, आपको इसकी आवश्यकता है:
Enumerable.Range('A', 26).Select(x => (char) x);
यह बहुत अच्छा नहीं है, स्वीकार्य रूप से।
MiscUtil साथआप इस्तेमाल कर सकते हैं
'A'.To('Z').StepChar(1)
कि जैसे आप चाहे
या नहीं व्यक्तिगत स्वाद :)
@ जोन, 'एन्यूमेरेबल। रेंज (' ए ', 26) .स्ट
धन्यवाद जॉन। बस मैं आपकी पुस्तक के अध्याय 11 (क्वेरी अभिव्यक्ति और वस्तुओं से लिंक) का अध्ययन कर रहा हूं। – user196546
मुझे एक और संदेह है कि टाइप ऑफ टाइप <> और कास्ट <> के बीच क्या अंतर है? – user196546
क्यों बस इसे सरल रखने नहीं करने की बात है ...
public static IEnumerable<char> GetAlphabet()
{
return "ABCDEFGHIJKLMNOPQRSTUVWXYZ".AsEnumerable();
}
धन्यवाद जेम्स, बहुत अच्छा लगता है। – user196546
अन्य उदाहरणों की तुलना में छोटे कोड देता है। चुम्मा :) – Carra
एक और तरीका, यदि आप वर्णमाला के एक तत्व से दूसरे तत्व में टुकड़ा करना चाहते हैं ...
Enumerable.Range(0,26).Select(x => (char)((char)x + 'A'))
मुझे लगता है कि आपको 'ए', 'जेड' का उपयोग करना चाहिए। स्ट्रिंग्स के बजाय अक्षर – RvdK