برنامه ‏نویسی با #C، بخش هشتم

امتیاز کاربران
ضعیفعالی 

در قسمت قبل با دستور if  و نحوه کار با آن اندکی آشنا شدیم حال فرض کنید شرایطی پیش آمده که می‌خواهیم به جای یک شرط چند شرط را در دستور  if  بررسی کنیم.


در این موارد می‌توان شرط‌های درون  if  را به وسیله عملگر های  and و   or منطقی   ترکیب کرد . با یک مثال این موضوع را امتحان می‌کنیم.

  • یک پروژه ویندوزی ایجاد کرده و نام آن را برابر  And Or Demo قرار دهید.
  • در قسمت طراحی دو کنترل text box و  یک کنترل   button   اضافه کنید.و خاصیت  name  ان‌ها را به ترتیب برابر  txtName1 و  txtName2 و btnORcheck  قرار دهید.
  • خاصیت  text  ان‌ها را نیز به ترتیب برابر  Sydnie و Stephanie و OR check  قرار دهید.
  •  روی دکمه OR check  دو بار کلیک کرده و کد زیر را در ان وارد کنید.

pic01

  • برنامه را اجرا کنید و نتیجه را مشاهده کنید.
  • سپس در صفحه اصلی متن‌های داخل صفحه را به گونه ای تغییر دهید که هیچ یک از ان‌ها شامل Sydnie  نباشد و در این حالت نتیجه را ملاحظه کنید.

عملگر || در  C#  به عنوان "یا " منطقی استفاده می‌شود و معمولاً برای بررسی دو شرط متفاوت از هم به کار می‌رود.

در این حالت سؤالی که در بخش  if  مطرح می‌شود این است که " آیا مقدار  strName1  برابر  Sydnie  است ؟ یا مقدار  strName2  برابر  Sydnie  است؟" در این حالت مقدار هر یک از متغیرها که برابر  Sydnie  شود پاسخ برابر  True  خواهد شد.

کنترل  button  دیگری به نام  btnAndCheck  به فرم اضافه کنید و کد زیر را در رویداد کلیک آن بنویسید.

pic02 

برنامه را اجرا کنید.

 

همان طور که متوجه شدید سؤالی که در این حالت در شرط  if  پرسیده می‌شود این است:

" آیا  strName1  برابر با  Sydnie  و  StrName2  برابر با Sydnie  است؟".

 نکته: در استفاده از عملگر های AND و  OR در یک دستور  if  هیچ محدودیتی نیست. اما باید توجه داشت که استفاده زیاد از این عملگرها از خوانایی برنامه می‌کاهد و درک آن را مشکل می‌کند. پس تا حد امکان از شرط‌های کمتر در دستور  if  خود استفاده کنید.

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

مقایسه رشته‌ها

معمولاً هنگامی که در دستور  if  رشته‌ها را با یکدیگر مقایسه می‌کنید به علت حساسیت برنامه به حروف کوچک و بزرگ با مشکل مواجه می‌شوید. با وجود این که هر دو کاراکتر “a” و “A”  برای انسان‌ها یک معنی دارند و یکسان تلقی می‌شوند اما در کامپیوتر دو کاراکتر مجزا از هم هستند.که به عنوان حساسیت به نوع حروف شناخته می‌شود.

مثال زیر راهی را برای اجتناب از این مسئله نشان می‌دهد تا بتوانید رشته‌ها را به طور عادی و بدون در نظر گرفتن نوع حروف مقایسه کنید.

  • کنترل  button دیگری به فرم اضافه کنید , خاصیت  name  ان را برابر btnStringCompare  و خاصیت  text  را برابر  Compare string  قرار دهید .
  • کد زیر را در متد کلیک آن وارد کنید.

pic03

  • برنامه را اجرا کنید.

همان طور که مشاهده می‌کنید به جای استفاده از  عملگر == برای مقایسه رشته‌ها از تابع  compare  در system.string  استفاده می‌کنیم. این تابع سه پارامتر را به عنوان ورودی دریافت می‌کند.پارامتر اول و دوم رشته‌هایی هستند که باید با هم مقایسه شوند پارامتر سوم هم برای تابع مشخص می‌کند که در هنگام مقایسه نوع حرف را نادیده بگیرد یا نه.که در این جا  true  به این معنی است که در هنگام مقایسه بزرگی و کوچکی حروف به وسیله تابع نادیده گرفته شوند .( اگر مقدار این پارامتر  را برابر  false  قرار دهیم عملکرد ان دقیقاً مشابه استفاده از عملگر == خواهد بود.

فرستاده شده توسط: مهسا ابراهیمیان

نوشتن دیدگاه


تصویر امنیتی
تصویر امنیتی جدید