نحوه استفاده از عملگرهای منطقی در سی شارپ

در بخش های قبل با عملگرهای ریاضی مانند جمع، تفریق و ... آشنا شدید که برای انجام عملیات محاسباتی استفاده می شوند. اگر قصد داشته باشید دو یا چند عبارت منطقی (شرط) را با یکدیگر ترکیب کنید، می بایست از عملگرهای منطقی استفاده نمایید. هنگامی که دو یا چند عبارت منطقی را با یکدیگر ترکیب می کنید، نتیجه نهایی نیز منطقی (true یا false) خواهد بود. مهمترین عملگرهای منطقی به شرح زیر می باشند.

عملگر NOT

این عملگر که با علامت ! در برنامه نویسی سی شارپ مشخص می گردد، نقیض ورودی می باشد به این معنی که اگر مقداری true باشد آن را به false و اگر false باشد به true تبدیل می کند.

bool b = true;
Console.WriteLine(!b); --> false

bool c = false;
Console.WriteLine(!c); --> true

 

عملگر AND

از این عملگر به معنی "و" بوده و برای ترکیب سخت گیرانه دو شرط استفاده می شود. عملگر And در سی شارپ با علامت && مشخص می گردد. هنگامی که دو یا چند شرط را با استفاده از عملگر And ترکیب می کنیم، نتیجه تنها در زمانی true خواهد بود که همه شرط ها true باشند و حتی اگر یکی از شرط ها false باشد، نتیجه کلی false خواهد بود.

bool a = true;
bool b = false;
bool c = true;
Console.WriteLine(a && b); --> false
Console.WriteLine(a && c); --> true
Console.WriteLine(b && c); --> false
Console.WriteLine(a && b && c); --> false

 

عملگر OR

عملگر Or به معنی "یا" بوده و هنگامی که چند شرط توسط این عملگر با یکدیگر ترکیب می شوند، اگر حتی یکی از شرط ها true باشد نتیجه کلی true خواهد بود.

bool a = false;
bool b = true;
bool c = false;
Console.WriteLine(a || b); --> true
Console.WriteLine(a || c); --> false
Console.WriteLine(b || c); --> true
Console.WriteLine(a || b || c); --> true

تمرین: برنامه ای بنویسید که عددی را به عنوان شماره ماه از کاربر دریافت کرده و نام فصل را نمایش دهد.

تحلیل: همانطور که می دانید 12 ماه وجود و این 12 ماه در 4 فصل تقسیم می شوند. به عبارتی دیگر هر فصل دارای سه ماه می باشد. بنابراین می توان گفت اگر عدد ورودی بین 1 تا باشد در نتیجه منظور کاربر فصل بهار بوده است.

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

if(month >= 1 && month <= 3)

یعنی اگر عدد وارد شده بزرگتر مساوی 1 و کوچکتر مساوی 3 بود. بنابراین کدهای برنامه به شکل زیر خواهند بود.

static void Main(string[] args)
{
    int month;
    Console.Write("Please enter month number: ");
    month = int.Parse(Console.ReadLine());
    if(month >= 1 && month <= 3)
    {
        Console.WriteLine("Spring");
    }
    else if (month >= 4 && month <= 6)
    {
        Console.WriteLine("Summer");
    }
    else if (month >= 7 && month <= 9)
    {
        Console.WriteLine("Fall");
    }
    else if (month >= 10 && month <= 12)
    {
        Console.WriteLine("Summer");
    }
    else
    {
        Console.WriteLine("Invalid number");
    }
    Console.ReadLine();
}