Structure در #C

در این مقاله Structure را در #C توضیح خواهیم داد , همچنین نحوه استفاده از آن را بیان می کنیم

Structure در #C

در زبان  Structure , #C  یک مقدار datatype میباشد , ما را برای حفظ نوع داده datatype یک مقدار یاری میکند .structure به عنوان یک record استفاده میشود .

خصوصیات Structure :

اعضای structure نمی توانند به عنوان abstract , virtual یا protected مشخص شوند .

_ structure می تواند شامل متد , فیلد , indexer , properties , operateor method و رویداد باشد .

_ structure می تواند شامل constructor باشد , اما شامل مخرب (destructor) نمی باشد , همچنین شما نمی توانید یک contructor پیش فرض برای structure تعریف کنید .

_ بر خلاف کلاس , structure نمی تواند از یک structure دیگر یا یک کلاس دیگر ارث بری کند .

_ structure امکان استفاده به عنوان پایه برای structure های دیگر یا کلاس های دیگر را ندارد .

_ structure توانایی اجرای یک یا چند interface را دارد .

_ هنگامی که یک شئی struct ایجاد میشود , constructor مربوط به آن نیز فراخوانی می شود .بر خلافstruct , class می تواند به عنوان نمونه استفاده شود بدون عملیات جدید .

_ اگر عملیات جدید مورد استفاده قرار نگیرد , field باقی مانده اختصاص داده نمی شود و شئی  تا زمانی که تمامی field ها تعریف نشوند قابل استفاده نیست . لطفاً به مثال زیر توجه فرمایید :

public struct Struct_Emp  
  
{  
    // Fields  (تعریف فیلد)
    private string Empname;  
    private int Empid;  
    // Property  (تعریف خاصیت)
    public string Empname  
    {  
        get  
        {  
            return Empname;  
        }  
        set  
        {  
            Empname = value;  
        }  
    }  
    // Method  (تعریف متد)
    public int GetEmpid()  
    {  
        return Empid;  
    }  
} 

تفاوت کلاس با structure :

_ کلاسها refrence type هستند در حالی که structure ها value type میباشند .

_ structure ها قابل ارث بری نیستند .

_ structure ها شامل constructor پیش فرض نیستند .

چه زمانی می توانیم از  structure  استفاده کنیم: 

_ هنگامی که ما به type خود به عنوان یه type اصلی احتیاج داریم .

_ هنگامی که ما تعدادی instance ایجاد کرده ایم , از آنها به طور مختصر استفاده کرده ایم و سپس به آنها احتیاج نداریم , به عنوان مثال مانند استفاده از حلقه .

_ instance که ایجاد کرده ایم قابل استفاده مکرر نمی باشد .

_ هنگامی که ما نمی خواهیم از type اختصاصی تعریف شده از type های دیگر نتیجه گیری شود و بالعکس .

_ هنگامی که ما میخواهیم دیگران با کپی اطلاعات از ما عملیات جدیدی انجام دهند .

چه زمانی نباید از structure استفاده کنیم :پ

زمانی که یک instace ایجار کرده ابم , سپس آنرا در مجموعه ای قرار می دهیم , برای تکرار و اصلاح عناصر در مجموعه قابل استفاده نمی باشد .

_