آموزش زبان برنامه نویسی سی شارپ (#C) (قسمت دهم - عبارات و عملگرها)

عبارات و عملگرهاابتدا با دو کلمه آشنا شوید:عملگر: نمادهایی هستند که اعمال خاص انجام می دهند.عملوند: مقادیری که عملگرها بر روی آن ها عملی انجام می دهندمثلا X+Y یک عبارت است که در آن X و Y عملوند و علامت + عملگر به حساب می آیند. زبان های برنامه نویسی جدید دارای عملگرهایی هستند که از اجزاء معمول زبان به حساب می آیند. سی شارپ دارای عملگرهای مختلفی از جمله عملگرهای ریاضی، تخصیصی، مقایسهای، منطقی و بیتی می‌باشد. از عملگرهای ساده ریاضی می‌توان به عملگر جمع و تفریق اشاره کرد. سه نوع عملگر در سی شارپ وجود دارد:یگانی (Unary) – به یک عملوند نیاز دارددودویی (Binary) – به دو عملوند نیاز داردسه تایی (Ternary) – به سه عملوند نیاز داردانواع مختلف عملگر که در این بخش مورد بحث قرار می گیرند عبارت اند از:عملگرهای ریاضیعملگرهای تخصیصیعملگرهای مقایسه ایعملگرهای منطقیعملگرهای بیتیعملگرهای ریاضیسی شارپ از عملگرهای ریاضی برای انجام محاسبات استفاده می کند. جدول زیر عملگرهای ریاضی سی شارپ را نشان می دهد:در مثال بالا از نوع عددی استفاده شده است. اما استفاده از عملگرهای ریاضی برای نوع رشته ای نتیجه متفاوتی دارد. همچنین در جمع دو کاراکتر کامپایلر معادل عددی آنها را نشان می دهد. اگر از عملگر + برای رشته ها استفاده کنیم دو رشته را با هم ترکیب کرده و به هم می چسباند. دیگر عملگرهای سی شارپ عملگرهای کاهش و افزایش هستند. این عملگرها مقدار 1 را از متغیرها کم یا به آنها اضافه می کنند. از این متغیرها اغلب در حلقه ها استفاده می شود:به این نکته توجه داشته باشید که محل قرا رگیری عملگر در نتیجه محاسبات تأثیر دارد. اگر عملگر قبل از متغیر var2 بیاید افزایش یا کاهش var1 اتفاق می افتد و var2 تغییر نمی کند. چنانچه عملگرها بعد از متغیر var2 قرار بگیرند ابتدا var1 برابر var2 می‌شود و سپس متغیر var2 افزایش یا کاهش می یابد. به مثال های زیر توجه کنید:using System; namespace ConsoleApplication5 { class Program { static void Main(string[] args) { int x = 0; int y = 1; x = ++y; Console.WriteLine(&quotx = {0}&quot,x); Console.WriteLine(&quoty = {0}&quot, y); Console.ReadLine(); } } }x = 2y = 2using System; namespace ConsoleApplication5 { class Program { static void Main(string[] args) { int x = 0; int y = 1; x = --y; Console.WriteLine(&quotx = {0}&quot,x); Console.WriteLine(&quoty = {0}&quot, y); Console.ReadLine(); } } }x = 0y = 0همانطور که در دو مثال بالا مشاهده می‌کنید، درج عملگرهای -- و ++ قبل از عملوند y باعث می‌شود که ابتدا یک واحد از y کم و یا یک واحد به y اضافه شود و سپس نتیجه در عملوند x قرار بگیرد. حال به دو مثال زیر توجه کنید:using System; namespace ConsoleApplication5 { class Program { static void Main(string[] args) { int x = 0; int y = 1; x = y--; Console.WriteLine(&quotx = {0}&quot,x); Console.WriteLine(&quoty = {0}&quot, y); Console.ReadLine(); } } }x = 1y = 0using System; namespace ConsoleApplication5 { class Program { static void Main(string[] args) { int x = 0; int y = 1; x = y--; Console.WriteLine(&quotx = {0}&quot,x); Console.WriteLine(&quoty = {0}&quot, y); Console.ReadLine(); } } }x = 1y = 2همانطور که در دو مثال بالا مشاهده می‌کنید، درج عملگرهای -- و ++ بعد از عملوند y باعث می‌شود که ابتدا مقدار y در داخل متغیر x قرار بگیرد و سپس یک واحد از y کم و یا یک واحد به آن اضافه شود. حال می‌توانیم با ایجاد یک برنامه نحوه عملکرد عملگرهای ریاضی در سی شارپ را یاد بگیریم:The sum of 5 and 3 is 8.The difference of 5 and 3 is 2. The product of 5 and 3 is 15. The quotient of 5 and 3 is 1.67. The remainder of 5 divided by 3 is 2 Hello World!برنامه بالا نتیجه هر عبارت را نشان می‌دهد. در این برنامه از متد ()Writeline برای نشان دادن نتایج در سطرهای متفاوت استفاده شده است. در این مثال با یک نکته عجیب مواجه می‌شویم و آن حاصل تقسیم دو عدد صحیح است. وقتی که دو عدد صحیح را بر هم تقسیم کنیم حاصل باید یک عدد صحیح و فاقد بخش کسری باشد. اما همانطور که مشاهده می‌کنید اگر فقط یکی از اعداد را به نوع اعشاری double تبدیل کنیم (در مثال می بینید) حاصل به صورت اعشار نشان داده می‌شود. برای اینکه ارقام کسری بعد از عدد حاصل دو رقم باشند از { 2:F2 } استفاده می‌کنیم. F به معنای فرمت بندی می‌باشد و در این جا بدین معناست که عدد را تا دو رقم اعشار نمایش بده. چون خطوط کد طولانی هستند آنها را در دو خط مینویسیم. سی شارپ خط جدید، فاصله و فضای خالی را نادیده میگیرد.در خط 29 مشاهده می‌کنید که دو رشته به وسیله عملگر + به هم متصل شدهاند. نتیجه استفاده از عملگر + برای چسباندن دو کلمه “Hello “ و “World!” رشته “Hello World!” خواهد بود. به فاصله خالی بعد از کلمه Hello توجه کنید اگر آن را حذف کنید از خروجی برنامه نیز حذف می‌شود.