استفاده از AutoProperty در #C

              تعریف یک property با نام Name به صورت زیر انجام می شود:

string name;

public string Name

{

get { return name; }

set { name = value}

}

در این حالت، فیلد name که private نیز می باشد ، backing Field نامیده می شود.

اگر قرار است که کنترل خاصی در زمانget و یا Set اعمال نشود، بهتر است از Auto property استفاده شود که این امکان Auto property قبل از   .Net 3.0 وجود نداشته است.  

با استفاده از Auto Property این کد را می توان به صورت زیر نوشت:

Public string Name { get;set;}

در این صورت  خود کامپایلر یک backing Field بدون نام برای این get و set ایجاد می کند.

توصیه ای برای استفاده ا ز Collection ها در #C

  •  در زمان استفاده از Collection ها بهتر است از انواعی استفاده شود که با استفاده از Generic ها بتوان تایپ ورودی آن Collection را نیز تعیین کرد. زیرا در این صورت کامپایلر درکی از ورودی این Collection خواهد داشت و در صورتی که تایپی غیر از تایپ معرفی شده بخواهد به Collection اضافه شود، در زمان کامپایل، کامپایلر خطا را متوجه می شود.

مزیت استفاده از Safe Cast در #C

       می توان  ObjectA را به ObjectB، با دو روش زیر Cast نمود:

var x = ObjectA as ObjectB;

var x = (ObjectB) ObjectA;

روش اول را Safe Cast می گویند. در این روش اگر ObjectA قابل Cast کردن به ObjectB نباشد، مقدار برگشتی که همان x است Null خواهد شد و Exception پیش نمی آید. اما در روش دوم اگر ObjectA به ObjectB قابل Cast کردن نباشد، سیستم Exception می دهد.

به همین دلیل توصیه می شود در زمان Cast کردن از روش اول استفاده شود.

دیباگ کردن برنامه در محیط VisualStudo

  1. اگر بخواهیم در زمان دیباگ  در محیط  Visual Studioبه متغیری مقدار بدهیم و برنامه با این متغیر دلخواه ما ادامه پیدا کند، این متغیر را Add Watch می کنیم و در آنجا برای این متغیر  EditValue انجام می دهیم.

در مورد Enum در #C

  1. وقتی یک Property از تایپ Enum داریم، یعنی در زمان ذخیره کردن آن در دیتابیس یک Int ذخیره می شود.
  2.  در صورتی که به عناصر یک Enum مقدار داده نشود، سیستم به آن به ترتیب مقادیر 0، 1  و ... را تخصیص می دهد.
  3.  در صورتی که به بعضی از عناصر یک Enum عدد تخصیص داده باشیم و به بعضی از آنها عددی تخصیص نداده باشیم، سیستم به آنهایی که عددی برایشان تخصیص داده نشده به ترتیب اعداد 0، یک و ... را تخصیص می دهد.
  4. در Enum ها، در حالت پیش فرض آن عنصرش که عدد صفر به آن تخصیص داده شده است، در حالت انتخاب شده نمایش داده می شود.
  5.  اگر به هیچ کدام از عناصر یک Enum، مقدار صفر تخصیص داده نشده باشد و ما یک property از تایپ این Enum تعریف کرده باشیم که Nullable نباشد، در صورتی که به این property هیچ مقداری تخصیص ندهیم، سیستم به آن پراپرتی مقدار صفر تخصیص می دهد.
  6. اگر یک property از تایپ Enum داشته باشیم و Nullable هم باشد، در صورتی که به این Property مقداری تخصیصی ندهیم، مقدار Null به آن تخصیص داده می شود.