iT邦幫忙

0

C# get & set

c#
deh 2021-12-17 13:41:351952 瀏覽
  • 分享至 

  • xImage

過去的問題

public string Variable { get; set; }

是以下寫法的縮寫

public string Variable
{
    get { return Variable; }
    set { Variable = value; }
}

想請教為何不能像下面這樣寫

public string Variable
{
    get
    {
        return Variable;
    }
    set
    {
        Variable = string.IsNullOrWhiteSpace(value) ? "" : value.Trim().ToUpper();
    }
}

而要寫成下面這樣

private string variable;
public string Variable
{
    get
    {
        return variable;
    }
    set
    {
        variable = string.IsNullOrWhiteSpace(value) ? "" : value.Trim().ToUpper();
    }
}
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

4
石頭
iT邦高手 1 級 ‧ 2021-12-17 14:50:29
最佳解答

C# Property (get & set)

只是一個語法糖,最終會幫你把她轉換成 Get & Set method,並用一個 field 來存放變數

下面這個語法 Variable 並不是一個 string field 所以不能這樣寫

public string Variable
{
    get
    {
        return Variable;
    }
    set
    {
        Variable = string.IsNullOrWhiteSpace(value) ? "" : value.Trim().ToUpper();
    }
}

詳細資訊請看 MSDN

https://docs.microsoft.com/zh-tw/dotnet/csharp/programming-guide/classes-and-structs/using-properties

deh iT邦研究生 1 級 ‧ 2021-12-17 15:39:46 檢舉

延伸去了解了 public-fields-versus-automatic-properties 之前對fields跟properties不夠了解 感謝

我要發表回答

立即登入回答