C#の参照型とは?object・dynamic・stringの3つの組み込み参照型を解説
C#における参照型(参照データ型)は、変数そのものに実際のデータを格納するのではなく、データが存在するメモリ上の場所への「参照」を保持する型です。これに対して、intやdoubleなどの値型は、変数に直接値を格納します。
C#には、あらかじめ用意されている組み込みの参照型として、次の3つがあります。
1. object型
object型は、C#の共通型システム(CTS:Common Type System)におけるすべてのデータ型の最終的な基底クラスです。そのため、値型・参照型を問わず、事前定義された型でもユーザー定義の型でも、あらゆる型の値を代入できます。
例
object ob; ob = 250; // ボックス化(boxing)
値型をobject型に代入することを「ボックス化」と呼びます。逆に、ボックス化された値を元の値型へ戻す操作は「ボックス化解除(unboxing)」と呼ばれます。
2. dynamic型
dynamic型の変数には、任意の型の値を格納できます。最大の特徴は、型チェックがコンパイル時ではなく実行時に行われる点です。柔軟なコードを書ける一方で、誤った操作は実行時エラーとして検出されるため、使用には注意が必要です。
例
dynamic d = 100; d = "文字列も代入可能"; // 型は実行時に決まる
3. string型
string型は、任意の文字列を変数に代入できる参照型です。stringはSystem.Stringクラスのエイリアス(別名)であり、object型から派生しています。文字列リテラルはダブルクォーテーション(" ")で囲んで表します。
例
String val = "Welcome!"; string msg = "こんにちは"; // stringキーワードでも同じ意味
まとめ
C#の組み込み参照型は、object型・dynamic型・string型の3種類です。参照型の変数はデータへの参照を保持し、object型はすべての型の基底クラス、dynamic型は実行時に型チェックが行われ、string型は文字列専用という特徴を持っています。それぞれの特性を正しく理解して使い分けることで、より安全で効率的なC#プログラムを作成できます。
-
データ整合性の種類とは?5つのタイプをわかりやすく解説
データ整合性(データベース整合性)とはデータベースにおける整合性とは、保存された情報の有効性と一貫性を指します。整合性は一般に「制約」という形で定義され、制約とはデータベースが違反してはならない一貫性ルールのことです。制約は個々の属性(カラム)に対して適用されることもあれば、テーブル間のリレーションシップに対して適用されることもあります。整合性制約があることで、権限を持つユーザーがデータベースに対して行う変更(更新・削除・挿入)によっても、データの一貫性が失われることはありません。つまり、整合性制約はデータベースを偶発的な破損から守る重要な役割を果たしているのです。データ整合性の主な種類データ
-
C言語の基本データ型を徹底解説!int・char・floatの種類とサイズ一覧
C言語の基本データ型とは? C言語のコンパイラがサポートする基本データ型は、大きく分けて次の4つです。 整数型(Integer) 文字型(Character) 浮動小数点型(Floating-point) 倍精度浮動小数点型(Double precision floating point) プログラムで扱う値の種類(整数・文字・実数など)に応じて適切な型を選ぶことは、正確で効率的なコードを書くための第一歩です。なお、各データ型のサイズや表現できる値の範囲は、使用するコンパイラや実行環境によって異なる場合がある点に注意してください。 整数型(Integral Data Type) 整数型は