کلمه کلیدی یا عملگر as در سی شارپ

as
کلیدواژه‌ی as، برای تبدیلات صریح انواع مرجع استفاده می‌شود! یعنی اگر نوع تبدیل شده، با نوع معین شده سازگار باشد، تبدیل با موفقیت صورت خواهد گرفت و اگر ناسازگار باشد، مقدار null اختصاص خواهد یافت.

مثال

متغیری با نام o1 و o2 داریم که از نوع object می‌باشند. مقدار o1 یک رشته بوده و مقدار o2، یک عدد صحیح می‌باشد:

object o1 = "Some String";
object o2 = 5;

string s1 = o1 as string; // s1 = "Some String"
string s2 = o2 as string; // s2 = null

در تبدیلات، مقدار null به s2 اختصاص یافته است! چرا که o2 یک عدد بوده و یک رشته نیست!

تفاوت با cast

اگر در کد بالا، خط تبدیل زیر را هم بنویسیم:

string s3 = (string)o2;

با اجرای این کد، با خطای System.InvalidCastException رو به رو خواهیم شد! چراکه مقدار null تنها در صورت استفاده از as اختصاص می‌یابد و این تفاوت as و Casting (کستینگ) است.

پاسخ دهید

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

cp-codfk

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

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