[解決済み] ミュータブル構造体はなぜ "悪 "なのか?
2022-03-19 15:28:34
質問
SOでの議論を見ていると、ミュータブル構造体は「悪」であるという意見を何度か読みました。 質問 ).
C#のミュータビリティと構造体の実際の問題点は何でしょうか?
解決方法は?
構造体は値型であるため、受け渡し時にコピーされます。
したがって、コピーを変更すると、元のコピーではなく、そのコピーだけを変更することになり、周囲にある他のコピーは変更されません。
構造体が不変であれば、値で渡された結果の自動複製はすべて同じになります。
変更したい場合は、変更したデータで構造体の新しいインスタンスを作成することで、意識的に行う必要があります。(コピーではありません)
関連
-
[解決済み】「The breakpoint will not currently be hit」を改善するには?このドキュメントにはシンボルが読み込まれていません。" という警告はどうすれば改善されますか?
-
[解決済み】値が期待した範囲に収まらない
-
[解決済み】WebResource.axdとは何ですか?
-
[解決済み] C#の正しいバージョン番号を教えてください。
-
[解決済み] ディープクローンオブジェクト
-
[解決済み] C#がforeachで変数を再利用するのは理由があるのか?
-
[解決済み] Try-catchは私のコードをスピードアップさせるか?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] JavaScriptSerializer - 列挙型を文字列としてJSONシリアライズする
-
[解決済み】大文字・小文字を区別しない「Contains(string)
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】指定されたキャストが有効でない?
-
[解決済み】パディングが無効で、削除できない?
-
[解決済み】SmtpException: トランスポート接続からデータを読み取れません:net_io_connectionclosed
-
[解決済み】C# ASP.NET使用時に「WebClientのリクエスト中に例外が発生しました。
-
[解決済み] DBNullから他の型にオブジェクトをキャストすることができない
-
[解決済み】Sequence contains no matching element(シーケンスにマッチする要素がない
-
[解決済み】バックスラッシュを含むパス文字列のエスケープシーケンスが認識されない件
-
[解決済み] 'IEnumerable<SelectListItem>' 型の ViewData アイテムで、キーが国であるものは存在しない。
-
[解決済み】「namespace」なのに「type」のように使われる。
-
[解決済み] Linqでリストから複数のフィールドを選択する