محمد مهدی علیپور
محمد مهدی علیپور
خواندن ۲ دقیقه·۲ سال پیش

نحوه نوشتن شرط یک خطی در سی شارپ + مثال


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

در حالت عادی کد را به شکل زیر مینویسیم،(محیط کنسول)

int a = 1 ,b =1;
if(a == b)
{
Console.WriteLine("The value is equal");
}
else{
Console.WriteLine("The value is not equal");
}

.کمی عمیق تر ......

if (a == b) Console.WriteLine("a = b");
else Console.WriteLine("a != b");

حالا گاهی اوقات باید یک شرط را داخل یک خط بنویسیم (شاید کد زیر به ذهن شما برسد!)

if (a == b) Console.WriteLine("a = b");else Console.WriteLine("a != b");

اگر کمی دقت کرده باشید خروجی شرط ها Console.WriteLine میباشد و تنها مقدار آن تغییر میکند میتوان کد را کمی ساده کرد و به شکل زیر نوشت!

int number1 = 1, number2 = 1;
Console.WriteLine((number1 == number2)?"number 1 == number 2" : "number1 != number 2");

کمی توضیح درباره کد بالا

در زبان سی شارپ خروجی اهمیت بالایی دارد، برای مثال خروجی Console.WriteLine یک رشته است.
همچنین خروجی یک شرط true یا false میباشد.
به همین دلیل زمانی که شما if را مینویسید باید بعد از آن () را بنویسید که مشخص کنید شرط در چه صورتی true و در چه صورتی false میباشد. کلمه کلیدی else به این شکل عمل میکند که اگر شرط داخل پرانتز به هر دلیلی false برگردوند وارد بلوک else شود. حتی کلمه کلیدی else if به همین موضوع اشاره میکند.
در شرط یک خطی درون پرانتز شرطی بنویسید که مطمئن هستید خروجی آن true یا false است.
برای مثال == یا =!
بعد از آن، " ؟ " را به کد اضافه کنید و بعد از آن یک خروجی نمایش بدهید خروجی میتواند هر چیزی باشد بعد از نوشتن کد خروجی باید یک " : " بنویسید، به تصویر پایین کمی دقت کنید.

خب حالا در تعریف متغیر بیاید از شرط یک خطی استفاده کنیم!
int number1 = 1, number2 = 1;
int number3 = (number1 == number2) ? 1 : 0;

متغیر اول با نام number1 و متغیر دوم number2 با مقدار های مساوی (1) تعریف شد،سپس متغیر سوم مقدارش اگر number1 با number2 برابر نبود برابر 0 خواهد شد ، اگر هم برابر بود همان مقدار یک قرار خواهد گرفت.

یکم کد را توسعه دهیم !

// متغیر ها را تعریف میکنیم int number1 = 1, number2 = 1, number3 = 3,number4; number4 = ((number1 + number2)== number3 ? (number1 + number2) : (number2 - number1)); // جواب چه خواهد بود؟ Console.WriteLine(number4);

نوشتن شرط یک خطی در برخی موقعیت های خاص کاربرد دارد اما اگر زیاده روی کنید کدی مینویسید که به سختی توسعه داده شود.

سی شارپ
شاید از این پست‌ها خوشتان بیاید