struct

 

struct 主要特性如下

 

一、一個 struct 包含了欄位與建構式如下

public struct Coords
{
    public int x, y;

    public Coords(int p1, int p2)
    {
        x = p1;
        y = p2;
    }
}

 

二、struct 不接受無參數建構子,也不接受 struct 裡的欄位直接給初始值

 

三、可以用 new 來宣告一個 struct,其欄位將會給預設值

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Coords b = new Coords();
            Console.WriteLine(b.x + " " + b.y);
        }
    }

    public struct Coords
    {
        public int x, y;
        public Coords(int p1, int p2)
        {
            x = p1;
            y = p2;
        }
    }
}

其結果為

 

四、如果直接宣告一個 struct,則需要對其欄位給值才能使用

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Coords b;
            b.x = 0;
            b.y = 0;
            Console.WriteLine(b.x + " " + b.y);
        }
    }

    public struct Coords
    {
        public int x, y;
        public Coords(int p1, int p2)
        {
            x = p1;
            y = p2;
        }
    }
}

 

五、struct 不能被另一個 struct 繼承,這也是跟 class 的最大差別

 

參考資料:

Using structs (C# Programming Guide)