C# 中的 get 和 set

Muhammad Maisam Abbas 2021年3月21日
C# 中的 get 和 set

在本教程中,我們將在 C# 中介紹 getset

C# 中的屬性

屬性是提供輸入,輸出和計算方法的方法的公共欄位。C# 中的類內的私有變數的值。編寫屬性名稱的慣例是保持它為 public,並以大寫字母開頭。以下程式碼示例向我們展示瞭如何使用 C# 編寫屬性。

using System;

namespace Properties
{
    class P
    {
        private string pname;
        public string Name
        {
            get
            {
                return pname;
            }
            set
            {
                pname = value;
            }
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            P obj = new P();
            obj.Name = "This is his name";
            Console.WriteLine(obj.Name);
        }
    }
}

輸出:

This is his name

在上面的程式碼中,我們用私有變數 pname 和公共屬性 Name 宣告瞭 P 類。屬性 Name 設定並獲取私有變數 pname 的值。setget 分別用於輸入和輸出 pname 的值。下面將對這兩種方法進行討論。

C# 中屬性的 set 訪問器

set 訪問器用於在 C# 中輸入私有欄位的值。以下程式碼示例向我們展示瞭如何使用 set 訪問器將資料輸入 C# 中的私有變數。

using System;

namespace Properties
{
    class P
    {
        private string pname;
        public string Name
        {
            set
            {
                pname = value;
            }
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            P obj = new P();
            obj.Name = "This is his name";
        }
    }
}

我們通過主函式中的 obj.Name = "This is his name"將資料傳遞到 set 訪問器中。該行在 set 訪問器的隱式變數 value 內傳遞值 This is his namevalue 是屬性內的隱式變數,表示傳遞的值。

C# 中屬性的 get 訪問器

get 訪問器用於在 C# 中輸出私有欄位的值。下面的程式碼示例向我們展示瞭如何使用 get 訪問器在 C# 中輸出私有變數的資料。

using System;

namespace Properties
{
    class P
    {
        private string pname;
        public string Name
        {
            get
            {
                return pname;
            }
            set
            {
                pname = value;
            }
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            P obj = new P();
            obj.Name = "This is his name";
            Console.WriteLine(obj.Name);
        }
    }
}

輸出:

This is his name

我們使用 C# 中公共屬性 Name 的公共 get 訪問器訪問了私有變數 pname 中的資料。我們還可以以簡寫形式編寫以上程式碼,用下面的程式碼仍然可以實現同樣的功能。

using System;

namespace Properties
{
    class P
    {
        public string Name
        {
            get;
            
            set;
            
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            P obj = new P();
            obj.Name = "This is his name";
            Console.WriteLine(obj.Name);
        }
    }
}

輸出:

This is his name

此程式碼與之前討論的程式碼具有相同的作用。它為我們提供了一種訪問公共設定者和私有領域的獲取者的方法。在上面的程式碼中,我們使用 set 訪問器將值 This is his name 傳遞給屬性 Name,並使用 get 訪問器獲得值。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

相關文章 - Csharp Property