04-26-2011، 07:15 PM
Boxing و UnBoxing:
Boxing عمل تبدیل مقدار نوع دادهای به نوع مرجع مشابه آن میباشد.
مثال:
UnBoxing عمل تبدیل نوع مرجع به نوع دادهای میباشد. مثال:
سی شارپ به برنامه نویس با استفاده از کلمه کلیدی Struct اجازه میدهد تا انواع مقداری User-defined را ایجاد کند. از دیدگاه برنامه نویسی، آنها کلاسهای سبک وزن به نظر میرسند. برخلاف کلاسها (که بر روی heap قرار میگیرند) و شبیه به انواع اولیه استاندارد مانند انواع مقداری Structها نیز بر روی پشته قرار میگیرند.آنها همچنین میتوانند قسمتی از یک شئ باشند، یا در یک آرایه مرتب شوند، بدون حافظه غیر مستقیمی که به طور معمول برای انواع کلاس تخصیص مییابد.
ویژگیهای جدید در C# ۲.۰
ویژگیهای جدید در C# .NET SDK ۲.۰ (مطابق با سومین ویرایش استاندارد ECMA-۳۳۴):
کلاسهای partial
کلاسهای Partial اجازه اجرای کلاسها از بیش از یک سورس فایل را میدهند.این امر اجازه میدهد تا کلاسهای بسیار بزرگ را قطعه قطعه کنیم و همچنین برای زمانی که برخی قسمتهای یک کلاس به طور خودکار تولید میشوند مفید است.
Genericها
genericها یا نوعهای پارامتری شده یا چندریختیهای پارامتری یک ویژگی جدید .NET ۲.۰ است که به وسیله سی شارپ پشتیبانی میشود.برخلاف Templateهای سی پلاس پلاس، در این انواع به جای اینکه نمونه سازی توسط کامپایلر انجام شود، در زمان اجرا صورت میگیرد، بنابراین میتوانند چند زبانه باشند در حالی که ++C نمیتواند.آنها دارای ویژگیهایی هستند که به طور مستقیم توسطTemplateهای C++ پشتیبانی نمیشوند مانند نوع محدودیتها در پارامترهای Generic با استفاده از رابط ها(Interface). سی شارپ از پارامترهایهای Generic بدون نوع پشتیبانی نمیکند.بر خلاف genericهای جاوا،genericهای دات نت برای پارامتری کردن انواع دادهای در اشیا ماشین مجازی CLI، از مفاهیم شی گرایی استفاده میکنند که اجازه بهینه سازی و حفاظت انواع اطلاعات را میدهد.
Boxing عمل تبدیل مقدار نوع دادهای به نوع مرجع مشابه آن میباشد.
مثال:
کد:
int foo = 42; // Value type...
object bar = foo; // foo is boxed to bar.
کد:
int foo = 42; // Value type.
object bar = foo; // foo is boxed to bar.
int foo2 = (int)bar; // Unboxed back to value type.
ویژگیهای جدید در C# ۲.۰
ویژگیهای جدید در C# .NET SDK ۲.۰ (مطابق با سومین ویرایش استاندارد ECMA-۳۳۴):
کلاسهای partial
کلاسهای Partial اجازه اجرای کلاسها از بیش از یک سورس فایل را میدهند.این امر اجازه میدهد تا کلاسهای بسیار بزرگ را قطعه قطعه کنیم و همچنین برای زمانی که برخی قسمتهای یک کلاس به طور خودکار تولید میشوند مفید است.
کد:
file۱.cs:
public partial class MyClass
{
public MyClass()
{
// implementation
}
}
file۲.cs:
public partial class MyClass
{
public void SomeMethod()
{
// implementation
}
}
genericها یا نوعهای پارامتری شده یا چندریختیهای پارامتری یک ویژگی جدید .NET ۲.۰ است که به وسیله سی شارپ پشتیبانی میشود.برخلاف Templateهای سی پلاس پلاس، در این انواع به جای اینکه نمونه سازی توسط کامپایلر انجام شود، در زمان اجرا صورت میگیرد، بنابراین میتوانند چند زبانه باشند در حالی که ++C نمیتواند.آنها دارای ویژگیهایی هستند که به طور مستقیم توسطTemplateهای C++ پشتیبانی نمیشوند مانند نوع محدودیتها در پارامترهای Generic با استفاده از رابط ها(Interface). سی شارپ از پارامترهایهای Generic بدون نوع پشتیبانی نمیکند.بر خلاف genericهای جاوا،genericهای دات نت برای پارامتری کردن انواع دادهای در اشیا ماشین مجازی CLI، از مفاهیم شی گرایی استفاده میکنند که اجازه بهینه سازی و حفاظت انواع اطلاعات را میدهد.
گروه دور همی پارسی کدرز
https://t.me/joinchat/GxVRww3ykLynHFsdCvb7eg
https://t.me/joinchat/GxVRww3ykLynHFsdCvb7eg