C# में char प्रकार एक 16 बिट की मात्रा है, जो टेक्स्ट के सबसे छोटे अलग-अलग हिस्सों को दर्शाती है।
कई char मिलकर "word" जैसी एक स्ट्रिंग बना सकते हैं, या फिर char को अलग-अलग भी संसाधित किया जा सकता है।
इनके लिटरल सिंगल कोट्स में लिखे जाते हैं, जैसे 'A'.
C# में char UTF-16 यूनिकोड एन्कोडिंग का समर्थन करता है, इसलिए लैटिन अक्षरों के अलावा दुनिया में इस्तेमाल होने वाली लगभग सभी लिपियाँ दर्शाई जा सकती हैं, जैसे ग्रीक अक्षर 'β'.
char को जाँचने और उन पर काम करने के लिए लाइब्रेरी में कई बिल्ट-इन मेथड मौजूद हैं। ये System.Char क्लास के स्टैटिक मेथड के रूप में मिलते हैं।
कभी-कभी char का इस्तेमाल StringBuilder ऑब्जेक्ट के साथ मिलाकर किया जाता है।
इस ऑब्जेक्ट में ऐसे मेथड होते हैं जिनसे किसी स्ट्रिंग को अक्षर-अक्षर करके बनाया और उसमें बदलाव किया जा सकता है। प्रक्रिया के अंत में इस पर ToString कॉल किया जा सकता है, जो पूरी स्ट्रिंग देता है।
इस अभ्यास में आप कुछ सहायक रूटीन बनाएँगे, जो एक डेवलपर को आइडेंटिफायर के नाम साफ़ करने में मदद करेंगे।
इन 5 कार्यों में आप धीरे-धीरे Clean रूटीन बनाएँगे।
एक मान्य आइडेंटिफायर में शून्य या अधिक अक्षर और अंडरस्कोर होते हैं।
हर मामले में, इनपुट स्ट्रिंग का null न होना तय है।
अगर Clean फंक्शन को एक खाली स्ट्रिंग दी जाए, तो खाली स्ट्रिंग ही लौटाई जानी चाहिए।
ध्यान दीजिए कि कॉल करने वाले को Clean रूटीन को खाली आइडेंटिफायर के साथ कॉल करने से बचना चाहिए, क्योंकि ऐसे आइडेंटिफायर काम के नहीं होते।
मिलने वाले हर रिक्त स्थान को अंडरस्कोर से बदलने के लिए (static) Identifier.Clean() मेथड बनाइए।
यह शुरू और अंत के रिक्त स्थानों पर भी लागू होता है।
Identifier.Clean("my Id");
// => "my___Id"
(static) Identifier.Clean() मेथड को इस तरह बदलिए कि वह कंट्रोल कैरेक्टरों को अपर केस स्ट्रिंग "CTRL" से बदल दे।
Identifier.Clean("my\0Id");
// => "myCTRLId",
(static) Identifier.Clean() मेथड को इस तरह बदलिए कि वह केबाब-केस को कैमलकेस में बदल दे।
Identifier.Clean("à-ḃç");
// => "àḂç"
(static) Identifier.Clean() मेथड को इस तरह बदलिए कि वह ऐसे सभी कैरेक्टर हटा दे जो अक्षर नहीं हैं।
Identifier.Clean("1😀2😀3😀");
// => ""
(static) Identifier.Clean() मेथड को इस तरह बदलिए कि वह 'α' से 'ω' के बीच के सभी ग्रीक अक्षर हटा दे।
Identifier.Clean("MyΟβιεγτFinder");
// => "MyΟFinder"
Exercism पर साइन अप कीजिए और C# को 62 कॉन्सेप्ट178 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।