不変タイプ

著者: Lewis Jackson
作成日: 8 5月 2021
更新日: 1 J 2024
Anonim
【#にじ診断】にじさんじのタイプ診断?そりゃ自分(アンジュ)になるよなあ!?【にじさんじ/アンジュ・カトリーナ】
ビデオ: 【#にじ診断】にじさんじのタイプ診断?そりゃ自分(アンジュ)になるよなあ!?【にじさんじ/アンジュ・カトリーナ】

コンテンツ

定義-不変型とはどういう意味ですか?

C#の欠点である不変の型は、作成後にデータを変更できないオブジェクトの型です。不変型は、オブジェクトのプロパティまたは状態を読み取り専用に設定します。これは、初期化中に割り当てられた後は変更できないためです。

不変の型は、効率的なメモリ管理と高速化のために設計されており、同期が必要なオブジェクトに適しています。不変性は、プログラム状態の可視性を変更し、状態を変更する操作をそうでない操作から分離することにより、コードの可読性を向上させます。不変型は、可変型よりも高いセキュリティを提供します。

不変タイプは、データが一度割り当てられた後も持続するが、将来データを変更する必要がない場合に使用されます。不変オブジェクトは状態を変更しないため、マルチスレッドおよびマルチプロセスのシナリオでは、複数のスレッドがオブジェクトの読み取りまたは書き込みを行い、競合状態や同期の問題を引き起こす可能性があるため、より便利です。


Microsoft AzureとMicrosoft Cloudの紹介|このガイドでは、クラウドコンピューティングとは何か、Microsoft Azureを使用してクラウドからビジネスを移行および実行する方法を学習します。

Techopediaは不変型を説明します

不変タイプのオブジェクトは、キーワード「const」および「readonly」を使用して作成できます。読み取り専用ではコンストラクタ内のフィールドの変更が許可されますが、constでは許可されません。数値、文字列、およびnullはconstフィールドとしてのみ使用できますが、これらは本当に不変です。 Readonlyは1回しか書き込みできないため、真に不変ではありません。したがって、constフィールドのようなコンパイル時定数ではありません。真に不変なオブジェクトは、内部状態をまったく変更しないため、本質的にスレッドセーフです。

System.Stringクラスは、.NETフレームワーククラスライブラリで提供される不変の参照型です。このクラスは、文字列操作アクションのために新しい文字列オブジェクトを内部的に作成します。このタイプのオブジェクトのコンテンツは変更されませんが、構文によりコンテンツを変更できるように見えます。さらに、文字列はハッシュ値の計算のためのハッシュテーブルキーとして使用され、ハッシュデータ構造が破損するリスクを回避します。

不変型の主な欠点は、他のオブジェクト型よりも多くのリソースを必要とすることです。

この定義はC#のconで書かれています