[解決済み] string.Empty vs null.どっちを使う?
質問
最近、職場の同僚から
string.Empty
を使わないで、文字列変数を設定するときに
null
を使うとスタックが汚れるから?
をしないようにと言っています。
string myString=string.Empty;
しかし
string mystring=null;
本当に重要なのでしょうか?文字列がオブジェクトであることは知っているので、なんとなくわかるのですが。
愚かな質問だと思いますが、あなたはどう思いますか?
どのように解決するのですか?
null
そして
Empty
は非常に異なるので、任意に切り替えて使うことはお勧めしません。しかし、どちらも余分なコストはありません。
Empty
は単一の固定参照 (それを何度でも使用できる) であるためです。
によって引き起こされるスタック上の "pollution"は存在しません。
ldsfld
- その懸念は......クレイジーです。をロードする
null
は間違いなく
僅かに
の方が安価ですが、値のチェックに注意しないとヌル参照例外を引き起こす可能性があります。
個人的には、私はどちらも使いません...。もし空の文字列が欲しいなら、私は
""
- を使います。インターナルとは
も
は使用ごとのオーバーヘッドがないことを意味します。
IL レベルでは、ここでの "" と Empty の違いは ldstr と ldsfld だけですが、どちらも同じ単一のインターナル文字列参照を提供します。さらに、より最近の .NET バージョンでは、JIT がこれらを直接傍受し、空の文字列参照を生成します。 を使わずに を生成します。基本的に、可読性を除いては、どちらかを気にする理由は全くありません。私はただ "" を使用します。
関連
-
[解決済み] 関数を終了するには?
-
[解決済み] JavaScriptで二重引用符と単一引用符はいつ使うべきですか?
-
[解決済み] どうすれば、文字列中のリテラルな中抜き文字を印刷し、また.formatを使用することができるのでしょうか?
-
[解決済み] IDisposable インターフェースの正しい使用法
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] async」と「await」の使い方とタイミング
-
[解決済み] リフレクションを使ってジェネリックメソッドを呼び出すにはどうしたらいいですか?
-
[解決済み] C#では、文字列の初期化にはstring.EmptyとString.Emptyと""のどちらを使えばいいのでしょうか?
-
[解決済み】なぜFunc<T>ではなくExpression<Func<T>を使うのですか?
-
[解決済み】文字列の中にある文字列(実際はchar)の出現回数を数えるには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー。「戻り値を変更できません」 C#
-
[解決済み】「未割り当てのローカル変数を使用」とはどういう意味ですか?
-
[解決済み】Excel "外部テーブルが期待された形式ではありません。"
-
[解決済み】プロジェクトビルド時のエラー。エディタでスクリプトにコンパイルエラーがあるため、Playerのビルドにエラーが発生する
-
[解決済み】C# - パスに不正な文字がある場合
-
[解決済み】Linq 構文 - 複数列の選択
-
[解決済み】aspNetCore 2.2.0 - AspNetCoreModuleV2 エラー
-
[解決済み】エラー「必要なフォーマルパラメータに対応する引数が与えられていない」を解決する?
-
[解決済み】Microsoft.Extensions.LoggingからILoggerを解決することができない
-
[解決済み] C#では、文字列の初期化にはstring.EmptyとString.Emptyと""のどちらを使えばいいのでしょうか?