دوره های مرتبط با این مقاله
لیست دانلود فیلم های آموزشی مربوط به C#
همانطور که در بخش قبلی گفتیم چندین مدل برای ترکیب شرط ها وجود دارد. حالت دیگری که در این بخش از آموزش سی شارپ به بررسی آن خواهیم پرداخت ترکیب شرطی or در سی شارپ است.
حال در نظر بگیرید بنگاه معملات املاک هر سه نوع خانه ی single family، townhouse و condominium را دارد. کلیه یcondominium ها فقط یک طبقه دارند. برخی از خانه های single family یک طبقه، برخی دو طبقه و تعدادی دارای سه طبقه می باشند. ولی تمامی خانه های townhouse سه طبقه ای می باشند. مراجعه کننده ی دیگری قصد خرید خانه را دارد و وی condominium می پسندد. حال چنانچه شرکت ما چه خانه داشته باشد چه condo، نباید بیشتر از یک طبقه باشد (مشتری به هر دلیلی تمایل به بالا رفتن از پله ها را ندارد). هنگام بررسی املاک بنگاه، با در نظر گرفتن شرط بالا، دستور های زیر را می نویسیم.
a. The property is a condominium b. The property has one story
در صورت پیدا کردن condo، به این خاطر که کلیه ی condo ها تنها یک طبقه دارند، معیار موردنظر برآورده می شود.
املاک دیگر، به خصوص آن دسته ای که بیش از یک طبقه دارند، نادیده گرفته می شوند.
عملگر شرطی or (||) در صورت ارزیابی عملوند اول به صحیح، دیگر عملوند دوم را ارزیابی نمی کند. چنانچه عملوند اول به false ارزیابی شود، این عملوند دوم است که تعیین یا مشخص می کند که کل عبارت or به صحیح یا غلط ارزیابی شود. ترتیب عملیات or در قالب جدول زیر به نمایش گذاشته شده است.
Condominium
One Story
Condominium or One Story
مثال:
using System; public enum HouseType { Unknown, SingleFamily, Townhouse, Condominium } public class Exercise { static int Main() { var type = HouseType.Unknown; var choice = 0; var stories = 1; Console.WriteLine("Enter the type of house you want to purchase"); Console.WriteLine("1. Single Family"); Console.WriteLine("2. Townhouse"); Console.WriteLine("3. Condominium"); Console.Write("You Choice? "); choice = int.Parse(Console.ReadLine()); if (choice == 1) type = HouseType.SingleFamily; if (choice == 2) type = HouseType.Townhouse; if (choice == 3) type = HouseType.Condominium; Console.Write("How many stories? "); stories = int.Parse(Console.ReadLine()); Console.WriteLine("\nDesired House Type: {0}", type); Console.WriteLine("Number of Stories: {0}", stories); if ((type == HouseType.Condominium) || (stories == 1)) Console.WriteLine("\nDesired House Matched"); else Console.WriteLine("\nThe House Doesn't Match the Desired Criteria"); return 0; } }
نمونه ای از اجرای برنامه
Enter the type of house you want to purchase 1. Single Family 2. Townhouse 3. Condominium You Choice? 3 How many stories? 6 Desired House Type: Condominium Number of Stories: 6 Desired House Matched Press any key to continue...
اکنون تصور کنید بین املاک موجود در بنگاه، هیچ condominium وجود ندارد. در این صورت، دیگر املاک را در نظر می گیریم.
چنانچه تعداد محدودی گزینه ی single family موجود است، به دنبال آن خانه ای می گردیم که فقط یک طبقه داشته باشد. در صورت پیدا کردن گزینه ی مورد نظر، شرط دوم برآورده می شود.
Type of House
One Story
Condominium or One Story
مثال:
Enter the type of house you want to purchase 1. Single Family 2. Townhouse 3. Condominium You Choice? 1 How many stories? 1 Desired House Type: SingleFamily Number of Stories: 1 Desired House Matched Press any key to continue...
اگر گزینه ی condominium را در املاک موجود پیدا کنیم که یک طبقه داشته باشد، هر دو شرط لازم برآورده می شود. جدول زیر این عملیات را به نمایش می گذارد.
Type of House
One Story
Condominium or One Story
رنامه ی زیر مثال بالا را نمایش می دهد.
Enter the type of house you want to purchase 1. Single Family 2. Townhouse 3. Condominium You Choice? 3 How many stories? 1 Desired House Type: Condominium Number of Stories: 1 Desired House Matched Press any key to continue...
عملیات بولی or تنها زمانی کلاً نتیجه ی false تولید می کند که هر دو شرط غلط باشند.
Condition 1
Condition 2
Condition 1 or Condition 2
مثالی دیگر
Enter the type of house you want to purchase 1. Single Family 2. Townhouse 3. Condominium You Choice? 2 How many stories? 2 Desired House Type: Townhouse Number of Stories: 2 The House Doesn't Match the Desired Criteria Press any key to continue...
فصل های ترکیبی
گاهی اوقات لازم است به جای دوشرط، سه شرط ارزیابی شود. برای این منظور از فصل های ترکیبی کمک گرفته می شود.