کلمه کلیدی is در سی شارپ

is
کلیدواژه‌ی is در سی‌شارپ، در بررسی سازگاری یک شیء با یک نوع معین به کار برده می‌شود. اصطلاح سازگاری به این معنی است که یک شیء از یک نوع یا مشتق شده از یک نوع باشد.

مثال

در کد زیر، بررسی می‌کنیم که آیا متغیری از نوع int، با نوع object سازگار است یا خیر!

int i = 10;
if (i is object) {
    // یه کاری رو انجام بده
}

طبیعتا سازگار است! چون تمامی نوع‌ها از object به ارث رسیده‌اند؛ پس همه‌ی متغیرها با object سازگار خواهند بود و جواب شرط بالا، true خواهد شد.

یک مثال در دنیای واقعی

کلاس‌های Animal و Cat و Dog را فرض کنید که Cat و Dog از Animal مشتق شده باشند (به ارث رسیده باشند). حالا برفرض یک آبجکتی از جنس Cat و به نام tom داریم. آیا می‌توانیم بگوییم tom است (is) یک نوعی از Cat؟ (یعنی: تام یک گربه هست؟!). بله تام یک گربه است! و در ادامه بگوییم آیا tom یک Animal است؟! (یعنی: تام یک حیوان است؟!). بله می‌توانیم بگوییم. چرا که هرگربه‌ای از نوع کلاس گربه بوده و در عین حال، از نوع کلاس جیوان نیز خواهد بود.

ولی الزاما هر حیوانی یک گربه نیست! و نمی‌توانیم برفرض بگوییم آبجکتی با نام jerry تعریف شده است و یک گربه است!

مثال کاربری

از is در خیلی از موارد مختلفی استفاده می‌کنیم. برای مثال، ممکن است بخواهیم کدی را برای تمامی TextBox های رو فرم اعمال کنیم:

foreach (Control c in this.Controls)
{
    if (c is TextBox)
    {
        TextBox t = (TextBox)c;
    }
}

پس داخل حلقه‌ای که برای تمامی کنترل‌ها نوشته شده است، بررسی می‌کنیم که اگر آن کنترل از نوع TextBox بود، عملیاتی را انجام دهد.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

cp-codfk

نظرات ثبت شده ۱ دیدگاه

توضیحات پیشنهادی نظرات اشتراک