برای ارتباط با مدیر سایت از ID تلگرام ebrahimi_younes@ استفاده نمایید. به سوالات و مشکلات برنامه نویسی پاسخ داده نمی شود.
کتاب های سی شارپ و جاوا به زبان ساده

علامت @

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

System.Console.WriteLine("I want to have a cat\dog as a birthday present."); //Error

با وجودیکه بهتر است در مثال بالا از اسلش ( / ) در cat/dog استفاده شود ولی عمدا از بک اسلش ( \ ) برای اثبات گفته بالا استفاده کرده ایم. کامپایلر خطا ایجاد می کند و به شما می گوید که کاراکتر کنترلی \d قابل تشخیص نیست چون همچین کاراکتر کنترلی وجود ندارد. زمانی وضعیت بدتر خواهد شد که کاراکتر بعد از بک اسلش کاراکتری باشد که هم جز یک کلمه باشد و هم جز کاراکترهای کنترلی. به مثال زیر توجه کنید :

System.Console.WriteLine("Answer with yes\no:");
Answer with yes
o

 

استفاده از علامت @ برای نادیده گرفتن کاراکترهای کنترلی

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

System.Console.WriteLine(@"I want to have a cat\dog as a birthday present.");
I want to have a cat\dog as a birthday present.

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

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

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

System.Console.WriteLine(@"Printing ""double quotations""...");
Printing "double quotations"...

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

 

استفاده از علامت @ برای نگهداری از قالب بندی رشته ها

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

C# is a great programming language and
it allows you to create different
kinds of applications.

یکی از راه های چاپ جمله بالا به صورت زیر است :

Console.WriteLine("C# is a great programming language and\n" +
                  "it allows you to create different\n" + 
                  "kinds of applications.");

به نحوه استفاده از \n در آخر هر جمله توجه کنید. این کاراکتر همانطور که قبلا مشاهده کردید خط جدید ایجاد می کند و در مثال بالا باعث می شود که جمله به چند خط تقسیم شود. از علامت + هم برای ترکیب رشته ها استفاده می شود. راه دیگر برای نمایش مثال بالا در چندین خط استفاده از علامت @ است

Console.WriteLine(@"C# is a great programming language and
it allows you to create different
kinds of applications.");

در این حالت کافیست که در هر جا که می خواهید رشته در خط بعد نمایش داده شود دکمه Enter را فشار دهید

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

  1. فرزاد پاسخ دادن

    با عرض سلام و خسته نباشید به همگی عزیزانی که این سایت خوب و مفید را ایجاد و اداره میکنند. من ساکن آلمان هستم و دارم دوره c++ میگذرونم ولی چون کتابها به زبان دویچ هست یک مقداری به مشکل خوردم که با سایت شما آشنا شدم و بسیار خوشحال و خوشنود شدم ولی متاسفانه از اینجا به بعد بسته هست و من نمیتونم از اینجا اشتراک بگیرم. آیا راهی برای من وجود داره که بتونم از مطالب استفاده کنم؟

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

      سلام، ایمیلتون رو چک بفرمایید