بچه ها امکانات که هست، پس خواستن توانستن است.
بچه ها امکانات که هست، پس خواستن توانستن است.
کلمه کلیدی new وقتی به عنوان اصلاحگر (modifier) استفاده می شود، صریحا" یک عضو که از یک کلاس پایه ای به ارث رفته است را مخفی می کند. وقتی شما یک عضو ارثی را مخفی می کنید، نسخه مشتق شده ی عضو ، جایگزین نسخه کلاس پایه می شود. هرچند شما می توانید بدون استفاده از اصلاحگر new اعضا را مخفی کنید اما نتیجه آن یک اخطار از طرف کامپایلر است. اگر شما برای مخفی کرد یک عضو، صریحا" از new استفاده کنید، از این اخطار اجتناب شده و این حقیقت که نسخه مشتق شده نامزد جایگزینی است را مستند می کند.
برای مخفی کردن یک عضو ارثی، آن را در کلاس مشتق شده با یک نام یکسان اعلان کنید و آنرا با اصلاحگر new اصلاح کنید. برای مثال:
در این مثال، BaseC.Invoke توسط DerivedC.Invoke مخفی است. مخفی سازی روی فیلد x مؤثر واقع نمی شود ، به این دلیل که با یک نام مشابه مخفی نشده است.
برای ساختن شیئ ها و احضار متدهای سازنده مورد استفاده قرار می گیرد. برای مثال:
همچنین برای ساختن نمونه هایی از نوع های بی نام ، کاربرد دارد:
عملگر new همچنین برای احضار (invoke) کردن متد سازنده پیش فرض نوع های مقداری مورد استفاده دارد. مثلا":
در بیان قبل، i با صفر مقداردهی اولیه می شود، که مقدار پیش فرض برای نوع int می باشد. تاثیر این بیان مشابه بیان زیر است:
به خاطر داشته باشید که اعلان یک متد سازنده پیش فرض برای یک struct (ساختار) یک خطا محسوب می شود، زیرا همه نوع های مقداری بصورت پیش فرض دارای یک متد سازنده public (عمومی) هستند. برای تنظیم مقدار اولیه نوع struct ، امکان اعلان متدهای سازنده دارای پارامتر بر روی نوع struct وجود دارد، اما این کار فقط زمانی انجام می شود که مقداری به غیر از مقدار پیش فرض مورد نیاز باشد.
در #C ، کلمه کلیدی new را می توان بصورت عملگر (operator) ، اصلاحگر (modifier) و یا یک قید (constraint) مورد استفاده قرار داد.
برای ساختن شیئ ها و احضار متد سازنده (Constructor) کلاس مربوطه استفاده می شود.
برای پنهان کردن یک عضو ارثی از اعضای یک کلاس پایه ای مورد استفاده قرار می گیرد.
برای محدود کردن نوع هایی که ممکن است به عنوان آرگومان هایی برای پارامتر نوع در اعلان جنریک (generic) مورد استفاده قرار گیرند، کاربرد دارد.
کلیدواژه namespace برای اعلان حوزه (scope) استفاده می شود. این حوزه فضای نام به شما اجازه می دهد که کدتان را سازماندهی کنید و راهی برای ساختن نوع های منحصر بفرد را ارائه می دهد.
ملاحضات
شما می توانید یک یا بیش از یکی از موارد زیر را در داخل یک namespace اعلان کنید:
در هرصورت چه صریحا" در فایل کد منبع (Source file) سی شارپ ، namespace را اعلان کنید و چه اینکار را انجام ندهید، کامپایلر یک namespace اضافه می کند. در بعضی مواقع به عنوان فضای نامی سراسری به این namespace بی نام، رجوع می شود که در همه فایل ها موجود است. هر شناسه ای که در فضای نامی سراسری وجود دارد، برای استفاده در یک namespace نامدار قابل دسترسی است.
لحظه سعادت مندانه ی بی پسوردی اینترنت بی سیم همسایه!!!
بیان goto روند اجرای برنامه را مستقیما" به یک بیان برچسب خورده منتقل می کند.
یک استفاده رایج از goto ، انتقال روند اجرای برنامه به برچسب default یا یک برچسب case خاص در بیان switch می باشد.
بیان goto همچنین برای بیرون آمدن از حلقه های تودرتوی عمیق کاربرد دارد.
مثال
مثال زیر طرز استفاده از goto در بیان switch را توضیح می دهد.
حلقه for یک بیان یا بلوکی از بیان ها را تا زمانی که عبارت شرطی تعیین شده به false ارزیابی شود، مکررا" اجرا می کند. حلقه for برای شمارش (حرکت روی عناصر) آرایه ها و پردازش ترتیبی مفید است.
مثال
در مثال زیر، مقدار int i در کنسول نوشته شده و مقدار i هر بار توسط حلقه یکی افزایش می یابد.
class ForLoopTest { static void Main() { for (int i = 1; i <= 5; i++) { Console.WriteLine(i); } } } /* Output: 1 2 3 4 5 */