簡體   English   中英

靜態字段/屬性初始化

[英]Static field/property initialization

如果我有這樣的類型:

public struct Effect
{
    public int Value { get; set; }

    public static int MinValue = Int32.MinValue;
}

MinValue只會初始化為ONCE,就像執行靜態構造函數一樣嗎? 或者我應該在靜態構造函數中初始化MinValue

這會對classes有什么不同嗎?

是的,它會在靜態構造函數執行之前初始化一次。 對於引用類型(類)也是如此。

是的,每個進程(app域)只會初始化一次。

它將被執行一次,但不完全像在靜態構造函數中。 當類型具有靜態構造函數時,關於何時執行類型初始值設定項的規則是不同的 請注意,觀察到的行為也在.NET 4.0中發生了一些變化 通常你不需要擔心這一點。

據我所知,類和結構之間的類型初始化沒有區別。

請注意,您的MinValue字段是公共的和可寫的 - 是不是意味着? 這似乎是一個壞主意。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM