مسیرها
/
C#
C#
/
تمرین‌ها
/
تمیز و برق‌زده
تمیز و برق‌زده

تمیز و برق‌زده

تمرین یادگیری

مقدمه

کاراکترها

نوع char در C# یک کمیت ۱۶بیتی است که کوچک‌ترین اجزای آدرس‌پذیر متن را نمایش می‌دهد. چندین char می‌توانند یک رشته مانند "word" را تشکیل دهند یا charها می‌توانند به‌صورت مستقل پردازش شوند. لیترال‌های آن‌ها با علامت نقل‌قول تک نوشته می‌شوند؛ برای نمونه 'A'.

charهای C# از کدگذاری یونیکد UTF-16 پشتیبانی می‌کنند، بنابراین علاوه بر مجموعه‌ی کاراکترهای لاتین، تقریباً همه‌ی نظام‌های نوشتاری رایج در جهان را می‌توان نمایش داد؛ برای نمونه حرف یونانی 'β'.

متدهای کتابخانه‌ای توکار زیادی برای بررسی و دست‌کاری charها وجود دارد. این متدها را می‌توان به‌صورت متدهای ایستای کلاس System.Char پیدا کرد.

String Builder

گاهی از charها در کنار یک شیء StringBuilder استفاده می‌شود. این شیء متدهایی دارد که با آن‌ها می‌توان یک رشته را کاراکتر به کاراکتر ساخت و دست‌کاری کرد. در پایان کار می‌توان ToString را روی آن فراخوانی کرد تا یک رشته‌ی کامل را خروجی دهد.

دستورالعمل‌ها

در این تمرین، مجموعه‌ای ناقص از روال‌های کمکی را پیاده‌سازی می‌کنید تا به یک برنامه‌نویس در تمیز کردن اسم‌های شناسه کمک کنید. در این ۵ تمرین، روال Clean را به‌تدریج کامل می‌کنید. یک شناسه‌ی معتبر از صفر یا چند حرف و زیرخط تشکیل شده است. در همه‌ی حالت‌ها، تضمین شده است که رشته‌ی ورودی هرگز null نیست. اگر رشته‌ی خالی به تابع Clean داده شود، باید رشته‌ی خالی برگردانده شود. توجه کنید که فراخوان‌کننده باید از فراخوانی روال Clean با یک شناسه‌ی خالی پرهیز کند، چون چنین شناسه‌هایی بی‌اثرند.

1. هر فاصله‌ای را با زیرخط جایگزین کنید

متد (static) Identifier.Clean() را طوری پیاده‌سازی کنید که هر فاصله را با زیرخط جایگزین کند. این موضوع برای فاصله‌های ابتدا و انتهای رشته هم صدق می‌کند.

Identifier.Clean("my   Id");
// => "my___Id"

2. نویسه‌های کنترلی را با رشته‌ی «CTRL» با حروف بزرگ جایگزین کنید

متد (static) Identifier.Clean() را طوری تغییر دهید که نویسه‌های کنترلی را با رشته‌ی "CTRL" با حروف بزرگ جایگزین کند.

Identifier.Clean("my\0Id");
// => "myCTRLId",

3. kebab-case را به camelCase تبدیل کنید

متد (static) Identifier.Clean() را طوری تغییر دهید که kebab-case را به camelCase تبدیل کند.

Identifier.Clean("à-ḃç");
// => "àḂç"

4. نویسه‌هایی را که حرف نیستند حذف کنید

متد (static) Identifier.Clean() را طوری تغییر دهید که هر نویسه‌ای را که حرف نیست حذف کند.

Identifier.Clean("1😀2😀3😀");
// => ""

5. حروف کوچک یونانی را حذف کنید

متد (static) Identifier.Clean() را طوری تغییر دهید که هر حرف یونانی در بازه‌ی 'α' تا 'ω' را حذف کند.

Identifier.Clean("MyΟβιεγτFinder");
// => "MyΟFinder"
ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
C# Exercism

آماده‌اید تمیز و برق‌زده را شروع کنید؟

در Exercism ثبت‌نام کنید تا C# را همراه با 62 مفهوم178 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.