تفاوت object، var و dynamic در سی شارپ

سوال

سلام دوستای عزیز کسی میتونه تفاوت object، var و dynamic در سی شارپ رو برام توضیح بده. تشکر و سپاس فراوان

حل شده 0
Mohsen 3 ماه 3 پاسخ ها 51 دیده شده 4

پاسخ ها ( ۳ )

  1. باسلام

    با استفاده از کلمه var در سی شارپ میتوان یک متغیر را تعریف کرد. وقتی از این کلمه برای تعریف متغیر استفاده میکنید نیاز به مشخص کردن نوع داده ای متغیر نیست و کامپایلر از روی مقداردهی اولیه، نوع متغیر را مشخص میکند

    با استفاده از کلمه dynamic در سی شارپ میتوان متغیر هایی را تعریف کرد که نوع آنها در زمان اجرا مشخص شوند (نه در زمان کامپایل). یک نوع dynamic نوع خود را در زمان اجرا بر اساس مقداری که در سمت راست علامت انتساب (=) قرار می‌گیرد، مشخص میکند. در بیشتر موارد کامپایلر نوع های dynamic را به نوع object تبدیل می‌کند.

    و object پایه یا پدربزرگ همه Data typeها در زبان برنامه نویسی سی شارپ است! Object نوع داده ارجاعی است و سرعت پایینی دارد

  2. عرض سلام و ادب خدمت شما دوست درسمنی
    جالبه که بدونید Object پدربزرگ همه Data typeها در زبان برنامه نویسی سی شارپ است! Object نوع داده ارجاعی است و سرعت پایینی دارد اما Var نوع داده مقداری است و از سرعت بالاتری برخوردار است، dynamic نیز شبیه Object است با این تفاوت که سرعت بالاتری دارد. بدونید که ابتدا Object به وجود آمد بعد Var و سپس dynamic!
    از دیگر تفاوت ها می توان گفت:
    نوع Var می تواند متغیرهای گوناگونی از هر نوعی را در خود ذخیره کند فقط باید در هنگام تعریف نوع Var، متغیر، مقدار دهی اولیه شود، نوع متغیر مشخص نمی باشد و با اولین مقدار دهی به متغیر، نوع آن مشخص می شود، در حالیکه ما می توانیم لحظه ی تعریف نوع داده ی Object، آن را مقدار دهی اولیه نکنیم.

    بهترین پاسخ
  3. سلام

    نوع Var می تواند متغیرهای گوناگونی از هر نوعی را در خود ذخیره کند.فقط باید در هنگام تعریف نوع Var، متغیر مقدار دهی اولیه شود.نوع متغیر مشخص نمی باشد و با اولین مقدار دهی به متغیر نوع آن مشخص می شود، در حالیکه نوع داینامیک می تواند متغیر از هر نوعی را در خود ذخیره کند، داینامیک تمام بررسی نوع داده در زمان کامپایل را نادیده گرفته و همه آنها را در زمان اجرا مشخص می کند.

    object پایه یا پدربزرگ همه Data typeها در زبان برنامه نویسی سی شارپ است, Object نوع داده ارجاعی است و سرعت پایینی دارد.

     

ارسال یک پاسخ