انواع بی نام (Anonymous Types)

در سی شارپ می‌توان انواع بی نامی تعریف کرد، که یک روش عالی، برای تعریف انواع موقتی، جهت ذخیره انواع داده‌ها می‌باشد. فرض کنید که، یک کلاس می‌خواهید که سه مقدار را در داخل property هایش جای دهد.

public class Sample
{
    public int    Property1 { get; set; }
    public double Property2 { get; set; }
    public string Property3 { get; set; }
}

لازم نیست مانند مثال بالا، یک کلاس جهت ذخیره سازی ایجاد کنید، بلکه می‌توانید یک نوع بی نام ایجاد کنید که property هایی مانند مثال بالا را، دارا باشد.

var anonymousType = new {
                            Property1 = 10,
                            Property2 = 5.35,
                            Property3 = "Hello"
                        };

برای این کار باید از کلمه کلیدی var استفاده شود. دستور ایجاد یک نوع بی نام شبیه به object initializers است با این تفاوت که، در آن از نام کلاس استفاده نمی‌کنیم. بعد از تعریف می‌توان از خواص انواع بی نام استفاده کرد.

Console.WriteLine(anonymousType.Property1);
Console.WriteLine(anonymousType.Property2);
Console.WriteLine(anonymousType.Property3);

به این نکته توجه کنید که مقدار دهی فقط یکبار انجام می‌شود و نمی‌توانید مقادیر خواص یک نوع بی نام را ویرایش کنید چون این خواص، خواص فقط خواندنی هستند.