1. ホーム
  2. .net

[解決済み】なぜString.Emptyは定数でないのですか?

2022-04-11 03:12:54

質問

.NETでは、なぜ String.Empty は定数ではなく、読み取り専用なのですか?その決定の背景にある理由を知っている人がいたら教えてほしいんだ。

どのように解決するのですか?

その理由は static readonly の代わりに使用されます。 const は、アンマネージドコードで使用するためで、マイクロソフトがここで示したように 共有ソース共通言語基盤2.0リリース . 見るべきファイルは sscli20\clr\src\bcl\system\string.cs .

Empty定数は、空の 文字列の値です。を呼び出す必要があります。 文字列コンストラクタを使用して コンパイラはこれを リテラルです。

これをリテラルとしてマークすることは フィールドとして表示されないということです。 で、ネイティブからアクセスすることができます。

からこんな情報を見つけました。 CodeProjectのこの便利な記事 .