C# 中的 get 和 set

Muhammad Maisam Abbas 2024年2月16日
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