کاراکترهای کنترلی

کاراکترهای کنترلی کاراکترهای ترکیبی هستند که با یک بک اسلش (\) شروع می‌شوند و به دنبال آنها یک حرف یا عدد می‌آید و یک رشته را با فرمت خاص نمایش می‌دهند. برای مثال برای ایجاد یک خط جدید و قرار دادن رشته در آن می‌توان از کاراکتر کنترلی \n استفاده کرد :

System.Console.WriteLine("Hello\nWorld!");
Hello
World

مشاهده کردید که کامپایلر بعد از مواجهه با کاراکتر کنترلی \n نشانگر ماوس را به خط بعد برده و بقیه رشته را در خط بعد نمایش می‌دهد. متد WriteLine() هم مانند کاراکتر کنترلی \n یک خط جدید ایجاد می‌کند، البته بدین صورت که در انتهای رشته یک کاراکتر کنترلی \n اضافه می‌کند :

System.Console.WriteLine("Hello World!");

کد بالا و کد زیر هیچ فرقی با هم ندارند :

System.Console.Write("Hello World!\n");

متد Write() کارکردی شبیه به WriteLine() دارد با این تفاوت که نشانگر ماوس را در همان خط نگه می‌دارد و خط جدید ایجاد نمی‌کند. جدول زیر لیست کاراکترهای کنترلی و کارکرد آنها را نشان می‌دهد :

کاراکتر کنترلی عملکرد کاراکتر کنترلی عملکرد
\’ چاپ کوتیشن \f Form Feed
\” چاپ دابل کوتیشن \n خط جدید
\\ چاپ بک اسلش \r سر سطر رفتن
\0 چاپ فضای خالی \t حرکت به صورت افقی
\a صدای بیپ \v حرکت به صورت عمودی
\b حرکت به عقب \u چاپ کاراکتر یونیکد

ما برای استفاده از کاراکترهای کنترلی از بک اسلش (\) استفاده می‌کنیم. از آنجاییکه \ معنای خاصی به رشته‌ها می‌دهد برای چاپ بک اسلش (\) باید از (\\) استفاده کنیم :

System.Console.WriteLine("We can print a \\ by using the \\\\ escape sequence.");
We can print a \ by using the \\ escape sequence.

یکی از موارد استفاده از \\، نشان دادن مسیر یک فایل در ویندوز است :

System.Console.WriteLine("C:\\Program Files\\Some Directory\\SomeFile.txt");
C:\Program Files\Some Directory\SomeFile.txt

از آنجاییکه از دابل کوتیشن () برای نشان دادن رشته‌ها استفاده می‌کنیم برای چاپ آن از \” استفاده می‌کنیم :

System.Console.WriteLine("I said, \"Motivate yourself!\".");
I said, "Motivate yourself!".

همچنین برای چاپ کوتیشن () از \’ استفاده می‌کنیم :

System.Console.WriteLine("The programmer\'s heaven.");
The programmer's heaven.

برای ایجاد فاصله بین حروف یا کلمات از \t استفاده می‌شود :

System.Console.WriteLine("Left\tRight");
Left	Right

هر تعداد کاراکتر که بعد از کاراکتر کنترلی \r بیایند به اول سطر منتقل و جایگزین کاراکترهای موجود می‌شوند :

System.Console.WriteLine("Mitten\rK");
Kitten

مثلاً در مثال بالا کاراکتر K بعد از کاراکتر کنترلی \r آمده است. کاراکتر کنترلی حرف K را به ابتدای سطر برده و جایگزین حرف M می‌کند. برای چاپ کاراکترهای یونیکد می‌توان از \u استفاده کرد. برای استفاده از \u، مقدار در مبنای 16 کاراکتر را درست بعد از علامت \u قرار می‌دهیم. برای مثال اگر بخواهیم علامت کپی رایت (©) را چاپ کنیم، باید بعد از علامت \u مقدار 00A9 را قرار دهیم مانند :

System.Console.WriteLine("\u00A9");
©

برای مشاهده لیست مقادیر مبنای 16 برای کاراکترهای یونیکد به لینک زیر مراجعه نمایید :

اگر کامپایلر به یک کاراکتر کنترلی غیر مجاز برخورد کند، برنامه پیغام خطا می‌دهد. بیشترین خطا زمانی اتفاق می افتد که برنامه نویس برای چاپ اسلش (\) از \\ استفاده می‌کند. برای دریافت اطلاعات بیشتر در مورد کاراکترهای کنترلی به لینک زیر مراجعه کنید :

لطفا اگر نظر، پیشنهاد و یا انتقادی در باره مطلب بالا دارید در قسمت زیر و اگر سوالی دارید در بخش پرسش و پاسخ مطرح بفرمایید.

  1. sara423 پاسخ دادن

    سلام
    خسته نباشید خیلی ممنون از مطالب آموزشی خوبی که قرار دادید
    من مطالب را دنبال کردم اما از اینجا به بعد را دسترسی ندارم؟؟ گویا فقط تا اینجا را یک عضو عادی بهش دسترسی دارد و از اینجا به بعد باید حق عضویت پرداخت کند
    در حالی که من داخل سایت خوندم که کل مطالب را دسترسی دارید مگر گرفتن فیلم وpdfهاگویا که باید حق عضئیت پرداخت بشه
    من اشتباه متوجه شدم یا اشکالی در سایت هست
    ممنون

    • یونس ابراهیمی پاسخ دادن

      سلام، مرسی، خیلی لطف دارین
      اشتباه متوجه شدین. یکی از دوستان پرسیدن که اگه حق عضویت پرداخت کنیم، به ویدئو های بخش فروشگاه هم دسترسی داریم یا نه؟ که بنده عرض کردم اشتراک VIP فقط برای خوندن مطالب سایت هست و شامل فروشگاه نمیشه.

  2. sara423 پاسخ دادن

    ممنون
    با این حساب اگر اشتراک VIP نباشیم فقط یک قسمت اول از مطالب سایت را میتوان خواند و از یک جا به بعد دیگه نیاز به اشتراک هست.درسته؟

    • یونس ابراهیمی پاسخ دادن

      خواهش می کنم،بله درسته، بنده از هر مبحث ۵-۱۰ مطلب رو رایگان گذاشتم تا کاربرا چشم و گوش بسته پول پرداخت نکنن و اول کیفیت آموزش رو ببینن و اگه دوس داشتن عضو بشن

  3. حسین پاسخ دادن

    با سپاس فراوان
    یک سوال برام پیش امد این”\t” را چطور میشه کنترل کرد که مصلا اگر ۸کاراکتر فاصله می ندازه این فاصله کمتر یا بیشتر بشه؟!!

    • قاسم پاسخ دادن

      سلام دوست عزیز، مقدار فاصله که “\t” ایجاد می کنه ثابته وقابل تغییر نیست، اما اگه خواستید فاصله غیر از اون مقدار ایجاد کنید می تونید بین “” ها به مقدار لازمتون فاصله بزنید و به دستور چاپ اضافه کنید،
      مثلا:
      ” ” سه کاراکترفاصله ،و ” “یک کاراکتر فاصله، ایجاد می کنه و…