تبلیغات
banner
banner
banner
تبلیغات
banner

فیلم های آموزشی : 36 +

تعداد کاربران : 34 +

تعداد کل مطالب : 338 +

تعداد نظرات : 29 +

حضرت محمد (ص) : داناترین مردم کسى است که دانش دیگران را به دانش خود بیفزاید.

آموزش مقدماتی تا پیشرفته سی شارپ بخش بیست و نهم


بسم الله الرحمن الرحیم

آموزش مقدماتی تا پیشرفته سی شارپ بخش بیست و نهم

سلام به همه کاربران وبسایت بزرگ لندلرن

قسمت بیست و نهم


مقايسه رشته ها :

 معمولا هنگامي كه در دستورات if رشته ها را با يكديگر مقايسه مي كنيد، به علت حساسيت برنامه به حروف كوچك و بـزرگ بـا مشكل مواجه مي شويد . با وجود اينكه هر دو كاراكتر “a “و “A “براي انسانها يك معني را دارند و يكسان تلقي مي شـوند، امـا در كامپيوتر دو كاراكتر مجزا از يكديگر هستند . اين مورد به عنوان حساسيت به نوع حروف شناخته مي شود . براي مثال اگر كد زير را در برنامه خود اجرا كنيد، كادر پيغام نمايش داده نخواهد شد:

همانطور كه ممكن است حدس زده باشيد، كلمه WINSTON كه با حروف بزرگ اسـت بـا مقـدار متغييـر strName كـه بـا حروف كوچك است تفاوت دارد و شرط اجرا نخواهد شد . اما در بيشتر مواقع شما نمي خواهيد رشته ها را به اين صورت بررسي كنيـد، پس بايد راهي را پيدا كنيد كه آنها را به حالت عادي و بدون در نظر گرفتن نوع حروف مقايسه كنيد . در امتحان كنيد بعدي، روشي را براي اين كار مشاهده خواهيم كرد :

امتحان كنيد: مقايسه رشته ها بدون در نظر گرفتن نوع حروف

  1. قسمت طراحي فرم را براي Form1 باز كنيد و كنترل Button ديگري را به فرم اضافه كنيـد . خاصـيت Name دكمه فرمان را برابر btnStringCompare و خاصـيت Text آن را برابـر String Compare قرار دهيد .
  2. روي كنترل Button دو بار كليك كنيد و كد زير را در متد مربوط به رويداد Click آن وارد كنيد:
۳. برنامه را اجرا كنيد و روي دكمه اي كه جديدا اضافه كرديد كليك كنيد . نتيجه اي مشابه شكل زیر را مـشاهده خواهيـد کرد.

۴.      روي دكمه OK كليك كنيد و در TextBox عبارتي را مانند STePHaniE يا هـر تركيـب ديگـري از این کلمه وارد كنيد. سپس روي دكمه Compare String كليك كنيد. مشاهده ميكنيد كه كادر پيغـام قـسمت قبـل مجـددا نمايش داده خواهد شد .


چگونه كار مي كند؟

همانطور كه در كد مشاهده مي كنيد بعد از اينكه اسم نوشته شده در TextBox را در متغييـر قـرار داديـم، بـه جـاي اسـتفاده از عملگر == براي مقايسه آنها، از تابع Compare در String.System استفاده ميكنيم. اين تابع سه پارامتر را به عنوان ورودي دريافت مي كند . پارامتر اول و دوم رشته هايي هستند كه بايد با يكديگر مقايسه شوند . در اين مثال بـراي پـارامتر اول مقـدار درون متغيير strName و براي پارامتر دوم ثابت رشته اي “STEPHANIE “را فرستاده ايم . پارامتر سوم هـم بـراي تـابع مشخص مي كند كه در هنگام مقايسه، نوع حروف را ناديده بگيرد يا نه . در اينجا مقدار true به اين معني است كـه بزرگـي و يـا كوچكي حروف به وسيله تابع ناديده گرفته شوند . اگر مقدار اين پارامتر را برابر با false قرار دهيد، عملكرد اين تابع دقيقا مـشابه استفاده از عملگر == خواهد بود.

نتيجه اي كه به وسيله اين تابع برگردانده مي شود مقداري عجيب است . اين تابع به جاي مقدار true و يا false ،يك عـدد صحيح را به عنوان نتيجه برمي گرداند . در حقيقت اين تابع علاوه بر مشخص كردن برابري و يا نابرابري دو رشته، مي تواند مشخص كند كه در صورت نابرابري آنها كداميك بزرگتر مي باشند . اگر مقدار صفر توسط تابع برگردانده شد به اين معني است كه دو رشته بـ ا هم برابرند، اگر عدد منفي برگردانده شود يعني رشته اول كوچكتر از رشته دوم است و عدد مثبت نيز به اين معني است كه رشـته اول بزرگتر از رشته دوم است. از اين اعداد ميتوان براي نوشتن الگوريتم هاي مرتب سازي و يا جستجو استفاده كرد.

به پایان قسمت ۲۹ رسیدیم با سیمین قسمت همراه وبسایت ما باشید.

برای شروع کردن هیچ وقت دیر نیست.


درباره نویسنده
سجاد اسدی
   سجاد اسدی

سجاد اسدی هستم دانشجوی رشته نرم افزار و علاقه مند به تدریس و یادگیری دروس مرتبط با تکنولوژی نرم افزار و اینترنت اشیاء جهت ارتباط با بنده مراجعه شود به آیدی سروش و تلگرام : @ordervira و پیج بنده در اینستاگرام instagram.com/sajjadred11 ""اللهم صل علی محمد و آل محمد"" برای شروع هیچ وقت دیر نیست. "الهم عجل لولیک الفرج"

دیدگاه بگذارید

avatar
  اشتراک  
اطلاع رسانی

aparat کانال آپارات

soroush کانال سروش

کانال آی گپ