C# 結構體

C# 結構體

在 C# 中,結構體是值類型數據結構。它使得一個單一變量能夠存儲各類數據類型的相關數據。struct 關鍵字用於建立結構體。數據結構

定義結構體

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;        /* 聲明 Book1,類型爲 Book */
      Books Book2;        /* 聲明 Book2,類型爲 Book */

      /* book 1 詳述 */
      Book1.title = "C Programming";
      Book1.author = "Nuha Ali";
      Book1.subject = "C Programming Tutorial";
      Book1.book_id = 6495407;

      /* book 2 詳述 */
      Book2.title = "Telecom Billing";
      Book2.author = "Zara Ali";
      Book2.subject =  "Telecom Billing Tutorial";
      Book2.book_id = 6495700;

      /* 打印 Book1 信息 */
      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);

      /* 打印 Book2 信息 */
      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();

   }
}

類 vs 結構

類和結構有如下幾個基本的不一樣點:ide

  • 類是引用類型,結構是值類型。
  • 結構不支持繼承。
  • 結構不能聲明默認的構造函數。

C# 結構的特色

您已經用了一個簡單的名爲 Books 的結構。在 C# 中的結構與傳統的 C 或 C++ 中的結構不一樣。C# 中的結構有如下特色:函數

  • 結構可帶有方法、字段、索引、屬性、運算符方法和事件。
  • 結構可定義構造函數,但不能定義析構函數。可是,您不能爲結構定義無參構造函數。無參構造函數(默認)是自動定義的,且不能被改變。
  • 與類不一樣,結構不能繼承其餘的結構或類。
  • 結構不能做爲其餘結構或類的基礎結構。
  • 結構可實現一個或多個接口。
  • 結構成員不能指定爲 abstract、virtual 或 protected。
  • 當您使用 New 操做符建立一個結構對象時,會調用適當的構造函數來建立結構。與類不一樣,結構能夠不使用 New 操做符便可被實例化。
  • 若是不使用 New 操做符,只有在全部的字段都被初始化以後,字段才被賦值,對象才被使用。
相關文章
相關標籤/搜索