سلام دوستان...
میشه بگید کاربرد این کلمات کلیدی در کد سی شارپ چیه؟؟
is & as
لطفا یکم براش توضیح بدین
مثلا این جا
DirectoryInfo primaryDir = e.Argument as DirectoryInfoبا تشکر پیشاپیش
سلام دوستان...
میشه بگید کاربرد این کلمات کلیدی در کد سی شارپ چیه؟؟
is & as
لطفا یکم براش توضیح بدین
مثلا این جا
DirectoryInfo primaryDir = e.Argument as DirectoryInfoبا تشکر پیشاپیش
کلمه as برای تبدیل دو نوع یکسان از داده ها استفاده میشود
کلمه is در رمان اجرا چک میکند که آیا 2 متغیر با هم هم نوعند یا خیر
میشه برای هر کدوم یک مثال کوچیک بزنید دوست من
راستی دو نوع که یکسان هستن مگه لازمه بهم تبدیل بشن ؟؟ int to int??
public string GetName(object t)
{
if(t is Person)
{
Person person = t as Person;
return person.Name;
}
else
return string.Empty;
}
آخرین ویرایش به وسیله Mahmoud.Afrad : یک شنبه 09 اسفند 1394 در 17:51 عصر
اگر تبدیل امکان پذیر نباشه null برمیگردونه. در واقع as عمل casting رو برای اشیا انجام میده.
double d=12.5;
int i=(int)d;
به عمل فوق میگن Casting
object obj=new Person();
Person p=(Person) obj;
یا
Person p=obj as Person;
obj=new Sale();
p=obj as Person;
در این صورت p برابر null میشه
آخرین ویرایش به وسیله Mahmoud.Afrad : یک شنبه 09 اسفند 1394 در 17:51 عصر
is و As جفتش برای casting استفاده میشه ولی بهتره که از as استفاده کنی.چون که با is مجبوری دو بار casting انجام بدی و performance برنامه پایین میاد ولی با as یک بار Casting انجام میشه.. این مثال رو ببین...
اول با is
if (t is person)
{
person m = (person)t;
}
اینجا دو بار t رو Cast میکنی یه بار برای چک کردن و دفعه دوم موقع استفاده...
حالا اگه با As بنویسی:
person m;
m = t as person;
if (m != null)
{
}
اینجا فقط یه بار cast میکنی و اگه قابل Cast بود که CAst میشه و اگه نبود متغیرت null میشه
اصلا Cast یعنی چی ؟؟؟؟
من کاربرد is رو متوجه شدم ولی نفهمیدم کاربرد as چیه و دقیقا چیکار میکنه