همانطور که در کد زیر مشاهده می کنید از نوع داده var به جای [ ]string استفاده نموده ایم زمانی که از var به جای نوع داده استفاده می کنیم کامپایلر خودش به صورت خودکار نوع داده را تشخیص می دهد.
نکته : در کد بالا برای ارسال اطلاعات از Controller به View از شی ViewData استفاده نموده ایم ، ViewData شبیه به ViewBag است و برای انتقال اطلاعات از کنترلر به View از آن استفاده می شود.
کد بالا به این معنی نیست که متغیر names دارای نوعی نیست معنی آن این است که کامپایلر نوع names را خودش تشخیص میدهد ، پس به این صورت نوع names که یک آرایه از نوع string هست توسط کامپایلر به صورت خودکار تشخیص داده میشود. حالا یک View برای اکشن متد Sample1 ایجاد کنید و کدهای زیر در آن بنویسید. در کد زیر با استفاده از حلقه foreach اعضای شی ViewData[“Products”] را پیمایش کرده و آنها را در خروجی چاپ میکنیم.
اجرای برنامه خروجی زیر را در پی خواهد داشت.
Soccer ball
کاربرد انواع بی نام
ترکیب روش مقداردهی آغازین و انواع بی نام امکان ایجاد اشیائی را برای انتقال اطلاعات بین کنترلر ونما بدون نیاز به کلاس ویژه ای فراهم میکند . کد زیر مثالی از این روش را نشان میدهد.
در کد بالا هر یک از اشیاء آرایه ی products نوعی بی نام هستند ، این به معنی آن است که نوع درست آنها به صورت خودکار توسط کامپایلر تشخیص داده خواهد شد . حالا یک View برای اکشن متد Sample2 ایجاد کنید و کدهای زیر را در آن بنویسید :
اجرای برنامه منجر به خروجی زیر می شود:
کامپایلر #c بر پایه ی نام ها و انواع پارامتر ها ، کلاس مورد نیاز را خودش ایجاد میکند . دو شیء بی نامی که دارای خصوصیاتی با اسامی یکسان باشند ، به یک کلاس نسبت داده خواهند شد. به همین دلیل همه اشیاء آرایهی products به کلاس واحدی که به صورت خودکار ایجاد خواهد شد ، نسبت داده خواهند شد (دارای خاصیت های هم نام هستند)
توجه کنید که در این مورد ، از آنجا که کلاس و نوع دربرگیرنده این خاصیت ها در زمان کامپایل ایجاد میشود ، چاره ای جز استفاده از var نبوده است .
برای نمایش این موضوع ، کد بالا را طوری تغییر داده ایم که به جای مقادیر خاصیت Name ، انواع ایجاد شده را در خروجی نمایش دهد.
توجه : در کد بالا با استفاده از متد GetType() انواع ایجاد شده گرفته می شود حالا یک View برای اکشن متد Sample3 ایجاد کنید و کدهای زیر را در آن بنویسید.
اجرای برنامه نشان می دهد که همه اشیاء داخل آرایه دارای نوع یکسانی شده اند (تعیین شده توسط کامپایلر) . خروجی کد به صورت زیر خواهد بود.
به پایان این جلسه آموزشی رسیدیم امیدوارم که از این جلسه آموزشی لذت برده باشید .
/
5
(
1
امتیاز
)