کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش ساختار در سی شارپ

دوره آموزش برنامه نویسی C#

کلیه حقوق مادی و معنوی این مقاله متعلق به آموزشگاه تحلیل داده می باشد و هر گونه استفاده غیر قانونی از آن پیگرد قانونی دارد.

آموزش ساختار در سی شارپ

در # C ساختار از نوع داده و نوع مقدار می باشد. به شما کمک می کند تا یک متغیر مجزا بسازید که داده ی مربوط به انواع مختلف داده را در خود دارد. کلمه ی کلیدی struct برای ایجاد یک ساختار استفاده می شود.

ساختارها برای ارائه ی یک ثبت استفاده می شوند. تصور کنید که می خواهید بخشی از کتابهایتان را در کتابخانه نگهداری کنید. ممکن است بخواهید هرکدام از ویژگی های زیر را در مورد هر کتاب طبقه بندی کنید.

عنوان

نویسنده

موضوع

 IDکتاب

تعریف یک ساختار

برای تعریف یک ساختار شما باید از گزاره ی struct  استفاده کنید. گزاره ی struct نوع جدید داده را با بیشتر از یک عضو برای برنامه ی شما تعریف می کند.

به عنوان مثال اینجا روشی است که شما ساختار Book را تعریف می کنید.

struct Books
        {
          
public string title;
          
public string author;
          
public string subject;
          
public int
book_id;
        };

برنامه ی زیر استفاده از ساختار را نشان می دهد.

 using System;
        ‎‎struct Books
        {
          
public string title;
          
public string author;
          
public string subject;
          
public int book_id;
        };
public class testStructure
{
          
public static void Main(string[] args)
           {
              Books Book1;       
/* Declare Book1 of type Book */
              Books Book2;        /* Declare Book2 of type Book */
              /* book 1 specification */
              Book1.title = "C Programming";
              Book1.author =
"Nuha Ali";
              Book1.subject =
"C Programming Tutorial";
              Book1.book_id =
6495407;
             
/* book 2 specification */
              Book2.title = "Telecom Billing";
              Book2.author =
"Zara Ali";
              Book2.subject = 
"Telecom Billing Tutorial";
              Book2.book_id =
6495700;
             
/* print Book1 info */
              Console.WriteLine( "Book 1 title : {0}", Book1.title);
              Console.WriteLine(
"Book 1 author : {0}", Book1.author);
              Console.WriteLine(
"Book 1 subject : {0}", Book1.subject);
              Console.WriteLine(
"Book 1 book_id :{0}", Book1.book_id);
             
/* print Book2 info */
              Console.WriteLine("Book 2 title : {0}", Book2.title);
              Console.WriteLine(
"Book 2 author : {0}", Book2.author);
              Console.WriteLine(
"Book 2 subject : {0}", Book2.subject);
              Console.WriteLine(
"Book 2 book_id : {0}"
, Book2.book_id);     
              Console.ReadKey();
          }
        }

وقتی که برنامه ی بالا کامپایل شده و اجرا می شود، نتایج زیر را در بر دارد.

Book 1 title : C Programming
        Book
1 author : Nuha Ali
        Book
1 subject : C Programming Tutorial
        Book
1 book_id : 6495407
        Book 2 title : Telecom Billing
        Book
2 author : Zara Ali
        Book
2 subject : Telecom Billing Tutorial
        Book
2 book_id : 6495700

ویژگی های ساختارهای C#

شما تقریبا ازیک ساختار ساده به نام Book استفاده کرده اید. ساختارها در C# کاملا متفاوت از نوع آن در C یا C++ می باشند. ساختارهای C# دارای ویژگی های زیر می باشند.

 ساختارهای می توانند متود، فیلد، ایندکسر، پراپرتی ، متودهای اپراتور و رویداد داشته بشند.

ساختارها می توانند سازنده های تعریف شده داشته باشند، اما ویران کننده نه. به هرحال شما نمی توانید یک سازنده ی پیش فرض برای یک ساختار تعریف کنید. سازنده ی پیش فرض به طور خودکار تعریف می شود و قابل تغییر نیست.

 بر خلاف گروه ها، ساختارها نمی توانند ساختارها یا گروه های دیگر را بگیرند.

ساختارها نمی توانند به عنوان یک اساس برای ساختارها و یا گروه های دیگر استفاده شوند.

          یک ساختار می تواند یک اینترفیس یا بیشتر از یکی را اجرا کند.

         اعضای ساختار نمی توانند به عنوان انتزاعی، مجازی و یا محافظت شده تعریف شوند.

          وقتی که شما یک آبجکت struct را بااستفاده از اپراتور New ایجاد می کنید، ساختار،آبجکت  ایجاد شده را می گیرد و سازنده ی مناسب فراخوانده می شود. برخلاف گروه ها، struct ها می توانند بدون استفاده از اپراتور New به عنوان نمونه ذکر شوند.

          اگر اپراتور New استفاده نشود، فیلدها بی تکلیف باقی مانده و آبجکت تا زمانی که همه ی فیلدها شروع به کار نکرده اند، استفاده نمی شود.

 گروه در مقابل ساختار (Class Vs. Structures)

گروه ها و ساختارها دارای تفاوت های اساسی زیر می باشند.

      گروه ها از نوع مرجع و ساختارها از نوع مقدار هستند.

ساختارها وراثت را پشتیبانی نمی کنند.

ساختارها نمی توانند سازنده ی پیش فرض داشته باشند.

در ارتباط با مبحث بالا اجازه بدهید مثال قبل را دوباره بنویسیم.

 using System;
        struct Books
        {
          
private string title;
          
private string author;
          
private string subject;
          
private int book_id;
          
public void getValues(string t, string a, string s, int id)
           {
              title = t;
              author = a;
              subject = s;
              book_id = id;
           }
          
public void display()
           {
              Console.WriteLine(
"Title : {0}", title);
              Console.WriteLine(
"Author : {0}", author);
              Console.WriteLine(
"Subject : {0}", subject);
              Console.WriteLine(
"Book_id :{0}", book_id);
           }
        };
public class testStructure
{
          
public static void Main(string[] args)
           {
              Books Book1 =
new Books(); /* Declare Book1 of type Book */
              Books Book2 = new Books(); /* Declare Book2 of type Book */
              /* book 1 specification */
              Book1.getValues("C Programming",
             
"Nuha Ali", "C Programming Tutorial",6495407);
             
/* book 2 specification */
              Book2.getValues("Telecom Billing",
             
"Zara Ali", "Telecom Billing Tutorial", 6495700);
             
/* print Book1 info */
              Book1.display();
             
/* print Book2 info */
              Book2.display();
              Console.ReadKey();
        }
        }
‎ ‎

وقتی که برنامه ی بالا کامپایل شده و اجرا می شود، نتایج زیر را در بر دارد.

Title : C Programming
        Author : Nuha Ali
        Subject : C Programming Tutorial
        Book_id :
6495407
        Title : Telecom Billing
        Author : Zara Ali
        Subject : Telecom Billing Tutorial
        Book_id :
6495700
1394/07/27 8853 1717
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...