0

آموزش #C – بخش پنجم | کاراکترهای کنترلی و تبدیل انواع در سی شارپ

دسته بندی ها : #C, برنامه‌نویسی ۲۵ آذر ۱۳۹۷ علی نصر 777 بازدید
انواع تبدیل در #C

درود به همراهان سایت رزدینو به ویژه علاقه‌مندان به زبان #C. در بخش قبل این آموزش، ساختار تصمیم و شروط  که جزء پایه‌های هر زبان برنامه‌نویسی هستند را بررسی کردیم. در این بخش می‌خواهیم به شرح کاراکترهای کنترلی در سی شارپ و همچنین تبدیل نوع در این زبان بپردازیم.

کاراکترهای کنترلی در سی شارپ

این کاراکترها باعث تغییر فرمت نمایش رشته می‌شوند و از یک بک‌اسلش ” \ ” و یک کاراکتر تشکیل می‌شوند. در جدول زیر لیست کاراکترهای کنترلی در سی شارپ را مشاهده می‌کنید.

جدول کاراکترهای کنترلیکاراکتر های بالا را در چند مثال شرح می‌دهیم.

فرق بین دو تابع ()Console.WriteLine و ()Console.Write این است که اولی به آخر هر رشته ورودی، کاراکتر کنترلی n\ را اضافه می‌کند و مکان‌نما را به ابتدای خط بعد می‌بَرد.

از کاراکتر کنترلی u\ برای چاپ کاراکتر یونیکد استفاده می‌شود. توجه داشته باشید که کد در مبنای 16 را بعد u\ قرار دهیم.

کاراکتر @

استفاده از این کاراکتر قبل از رشته باعث می‌شود کامپایلر کاراکتر های کنترلی را در نظر نگیرد.

کد بالا باعث ایجاد خطای کامپایلری می‌شود چون کامپایلر d\ این کاراکتر کنترلی را نمی‌شناسد. و باید از کاراکتر @ استفاده کنیم.

کاربرد دیگر این نوع از کاراکترهای کنترلی در سی شارپ ، استفاده در رشته های چند خطی است بدون استفاده از n\ است.

فقط کافی است هرجا که می‌خواهید به خط بعد بروید از Enter استفاده کنید.

تبدیل ضمنی

این نوع تبدیل توسط کامپایلر به طور اتوماتیک انجام می‌شود. یک متغیر به طور ضمنی می‌تواند به دیگری تبدیل شود اگر تعداد بایتش کمتر از آن نوع باشد. در جدول زیر انواع داده‌هایی را می‌بینید که کامپایلر می‌تواند آن‌ها را به یکدیگر تبدیل کند.

تبدیل ضمنی

در زیر چند مثال مشاهده می‌کنید.

طبق گفته‌های بالا چون تعداد بایت‌های نوع byte کمتر از int می‌باشد، این تبدیل انجام شده است. اگر خط سوم مثال بالا را عکس کنیم به خطا بر می‌خوریم. توجه داشته باشید که نمی‌توانیم اعداد اعشاری (یا به بیان بهتر، اعداد از نوع ممیز شناور) را به انواع صحیح تبدیل کنیم چون بخش اعشار آن‌ها حذف می‌شود.

تبدیل صریح

تبدیل صریح یا cast نوعی از تبدیل است که برنامه را مجبور به تبدیل می‌کند. این تبدیل خطرناک است و ممکن است باعث اصلاح و یا حذف مقادیر شود و نیاز به دقت زیادی دارد. ساختار پایین نحوه تبدیل صریح را نشان می‌دهد.

در بالا چگونگی تبدیل متغیر var1 از نوع type1 به نوع type2 را مشاهده می‌کنید. به مثال‌های زیر توجه کنید.

باید توجه داشته باشید که فقط هشت بیت اول متغیر varInt در varByte کپی می‌شود. بنابراین همانطور که مثال زیر نشان می‌دهد اگر مقدار متغیر varInt بیشتر از 255 باشد مقدار کپی شده در varByte متفاوت خواهد بود.

تبدیل مقادیر از نوع اعشاری به نوع صحیح باعث حذف بخش اعشاری عدد می‌شود.

برای اینکه ما از وقوع سرریز با خبر شویم باید از کلمه کلیدی checked استفاده کرد. در قالب یک مثال این نکته را شرح می‌دهیم.

برنامه بالا سعی می‌کند مقادیر 250 تا 260 را در متغیر varByte قرار دهد. اما طبق گفته‌هایمان متغیر از نوع byte اعداد 0 تا 255 را می‌پذیرد بنابراین هنگامی که عدد 256 را در ورودی می‌بیند، کلمه کلیدی checked استثنای سرریز را پرتاب می‌کند.

کلاس convert

این کلاس دارای متدهایی است که می‌توانند برای تبدیل انواع به یکدیگر استفاده شوند. برخی از این متدها را در جدول زیر مشاهده می‌کنید.

کلاس convert

خب دوستان این بخش هم که در مورد کاراکترهای کنترلی در سی شارپ و البته بحث تبدیل نوع بود، به پایان رسید. امیدوارم مفید واقع شده باشه همچنین مبحث بعدی انواع عملگرها می‌باشد. هرگونه سؤالی در مورد این مطلب و یا در مورد مطالب دیگه‌ی آموزش #C داشتید در بخش کامنت‌ها مطرح کنید تا ما در اسرع وقت پاسخگوی شما باشیم.

اگر علاقه‌مند به برنامه‌نویسی هستید می‌تونید از آموزش‌های مختلف ما در این زمینه استفاده کنید. برای آموزش‌های بیشتر با رزدینو همراه باشید.

علی نصر
علی نصر

راه آسان‌تری برای ارتباط با کاربران‌مان پیدا کرده‌ایم :) عضویت در کانال

مطالب زیر را حتما بخوانید:

قوانین ارسال دیدگاه در سایت

چنانچه دیدگاهی توهین آمیز باشد و متوجه اشخاص مدیر، نویسندگان و سایر کاربران باشد تایید نخواهد شد.

چنانچه دیدگاه شما جنبه ی تبلیغاتی داشته باشد تایید نخواهد شد.

چنانچه از لینک سایر وبسایت ها و یا وبسایت خود در دیدگاه استفاده کرده باشید تایید نخواهد شد.

چنانچه در دیدگاه خود از شماره تماس، ایمیل و آیدی تلگرام استفاده کرده باشید تایید نخواهد شد.

چنانچه دیدگاهی بی ارتباط با موضوع آموزش مطرح شود تایید نخواهد شد.

نظرات کاربران

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

لینک کوتاه :