文字列をstring.emptyとして宣言し、後で動的に値を追加するアプリケーションでは、多くのシナリオがあります。 C#では、は文字列変数で、string.emptyの文字列変数は同じですか?
string status
と
string status = String.Empty;
同じですか?
文字列をstring.emptyとして宣言し、後で動的に値を追加するアプリケーションでは、多くのシナリオがあります。 C#では、は文字列変数で、string.emptyの文字列変数は同じですか?
string status
と
string status = String.Empty;
同じですか?
これらのコードは同等ではありません。
あなたは方法のstring status
外を宣言した場合、それはnull
のデフォルト値に初期化されます。
あなたはメソッド内string status
を宣言した場合は、それが初期化されていない、とあなたは明示的に値を与えるまで、あなたはそれを使用することはできません。あなたがstring status = String.Empty;
を必要とするかどうかは
はあなたの状況に依存しますが、あなたのコードは時々スロー見つけた場合、それはNullReferenceException
を回避するためのまともな方法のように思えます。
いいえ同じではありません。 String datataypeはnullを許可します。また、すべての変数/属性/プロパティを常に初期化することをお勧めします。
string status = String.Empty;
ん、文字列変数のデフォルト値はヌル
文字列の状態です。
string status = String.Empty;
いいえ、文字列が参照タイプデフォルトでゼロ長
* Null値を持つ文字列オブジェクトを作成します*間違っています。クラスレベルの変数でのみ発生し、メソッドは初期化されないためコンパイルされません。 – Gusman
はい、あなたは正しいです、私は編集するつもりです:) –
の文字列である空定数がnull の値を持つ文字列オブジェクトを作成します。 –
文字列は参照型です。デフォルトは 'null'です。あなたは気にするかもしれません。 – SLaks
String.Emptyは ""と同じです – Gusman