ホームページ >バックエンド開発 >C#.Net チュートリアル >C# の値の型と参照型の概要
コンセプト:
1. 値型: データはメモリのスタックに保存され、スタックからデータに素早くアクセスできます。したがって、値型は実際のデータを表します。
2. 参照型: メモリ ヒープに格納されているデータ (クラス、インターフェイス、配列、文字列を含む) へのポインターまたは参照を表します。
C# で定義される値の型には、プリミティブ型 (Sbyte、Byte、Short、Ushort、Int、Uint、Long、Ulong、Char、Float、Double、Bool、Decimal)、列挙型 (enum)、および構造体 (struct) が含まれます
参照型には、クラス、配列、インターフェイス、デリゲート、文字列などが含まれます。
の違い:
基本的な違いは、メモリに格納される方法です。値型は値をメモリにのみ保存し、これらの値型はスタックに保存されます。プリミティブ データ型 (bool や int など) がこの型に属します。参照型メモリユニットは、オブジェクトのアドレスをメモリヒープに格納するだけであり、オブジェクト自体はメモリヒープに配置されます。参照される値の型の値が null の場合、オブジェクトが参照されていないことを意味します。
ヒープとスタックの違い:
ヒープとスタックは2つの異なる概念であり、メモリ内の記憶場所も異なります。
ヒープは通常、文字列型などの可変長データを格納するために使用されます。整数型データなどの固定長データを格納するために使用されます (各 int 変数は 4 バイトを占有します)。データストレージの場所から、値変数が別の値変数に代入されると、2 つの同一の値がスタックに保存され、参照変数が別の参照変数に代入されると、2 つの同一の値が保存されることがわかります。同じヒープの場所への 2 つの参照がスタックに保存されます。つまり、同じヒープのアドレスがスタックに保存されます。データ操作を実行する場合、値型の場合、各変数は独自の値を持つため、1 つの変数に対する操作は他の変数に影響しません。参照型の変数の場合、変数のデータに対する操作は、その変数のデータに対する操作になります。ヒープでは、2 つの参照型変数が同じオブジェクトを参照している場合、実際の意味は、それらがスタックに保存するヒープ アドレスが同じであるため、一方の変数に対する操作は、同じ変数を参照するもう一方の変数に影響を与えます。
コンセプト:
1. 値型: データはメモリのスタックに保存され、スタックからデータに素早くアクセスできます。したがって、値型は実際のデータを表します。
2. 参照型: メモリ ヒープに格納されているデータ (クラス、インターフェイス、配列、文字列を含む) へのポインターまたは参照を表します。
C# で定義される値の型には、プリミティブ型 (Sbyte、Byte、Short、Ushort、Int、Uint、Long、Ulong、Char、Float、Double、Bool、Decimal)、列挙型 (enum)、構造体 (struct) が含まれます
参照型には、クラス、配列、インターフェイス、デリゲート、文字列などが含まれます。
の違い:
基本的な違いは、メモリに格納される方法です。値型は値をメモリにのみ保存し、これらの値型はスタックに保存されます。プリミティブ データ型 (bool や int など) がこの型に属します。参照型メモリユニットは、オブジェクトのアドレスをメモリヒープに格納するだけであり、オブジェクト自体はメモリヒープに配置されます。参照される値の型の値が null の場合、オブジェクトが参照されていないことを意味します。
ヒープとスタックの違い:
ヒープとスタックは2つの異なる概念であり、メモリ内の記憶場所も異なります。
ヒープは通常、文字列型などの可変長データを格納するために使用されます。整数型データなどの固定長データを格納するために使用されます (各 int 変数は 4 バイトを占有します)。データストレージの場所から、値変数が別の値変数に代入されると、2 つの同一の値がスタックに保存され、参照変数が別の参照変数に代入されると、2 つの同一の値が保存されることがわかります。同じヒープの場所への 2 つの参照がスタックに保存されます。つまり、同じヒープのアドレスがスタックに保存されます。データ操作を実行する場合、値型の場合、各変数は独自の値を持つため、1 つの変数に対する操作は他の変数に影響しません。参照型の変数の場合、変数のデータに対する操作は、その変数のデータに対する操作になります。ヒープでは、2 つの参照型変数が同じオブジェクトを参照している場合、実際の意味は、それらがスタックに保存するヒープ アドレスが同じであるため、一方の変数に対する操作は、同じ変数を参照するもう一方の変数に影響を与えます。
以上がC# の値の型と参照型の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。