C# のデータ型: Double、整数、浮動小数点、文字型
⚡ スマートサマリー
C#におけるデータ型は、変数が保持できる値の種類を定義します。これには、整数や浮動小数点数からブール値や文字列値までが含まれます。また、データ型は、プログラム実行中に各変数が確保するメモリ量を決定します。

C# のデータ型とは何ですか?
C# 言語には、一連の基本データ型が付属しています。 これらのデータ型は、アプリケーション内で使用される値を構築するために使用されます。 C# で使用できる基本的なデータ型を見てみましょう。 各例では、Program.cs ファイル内の main 関数のみを変更します。
1)整数
整数データ型は数値を扱うために使用されます。この場合、数値は10、20、30などの整数です。C#では、データ型は Int32 キーワード。 以下は、このデータ型の使用方法の例です。 この例では、num という Int32 変数を定義します。 次に、変数に整数値を代入し、それに応じて表示します。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Int32 num=30; Console.Write(num); Console.ReadKey(); } } }
Code 説明:-
- Int32 データ型は、num という整数変数を宣言するために指定されます。 次に、変数には値 30 が割り当てられます。
- 最後に、console.write 関数を使用して番号をコンソールに表示します。
上記のコードが正しく入力され、プログラムが正常に実行されると、次の出力が表示されます。
出力:
出力から、numという整数変数がコンソールに表示されていることがはっきりとわかります。
2) Double
doubleデータ型は小数点を扱うのに使用されます。この場合、数値は10.11、20.22、30.33などの整数です。C#では、データ型はキーワード「Double”。 以下にこのデータ型の例を示します。
この例では、numというdouble変数を定義します。次に、 Double 値を変数に代入し、それに応じて表示します。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { double num=30.33; Console.Write(num); Console.ReadKey(); } } }
Code 説明:-
- doubleデータ型はdouble型を宣言するために指定される 変数 ナムと呼ばれます。 次に、変数には 30.33 の値が割り当てられます。
- 最後に、console.write 関数を使用して番号をコンソールに表示します。
上記のコードが正しく入力され、プログラムが正常に実行されると、次の出力が表示されます。
出力:
出力から、numというdouble変数がコンソールに表示されていることがはっきりとわかります。
3) ブール値
ブール データ型は、次のブール値を操作するために使用されます。 真と偽。 C# では、データ型は Boolean キーワードで示されます。 以下は、使用できるこのデータ型の例です。
この例では、「status」というブール変数を定義します。 次に、変数にブール値を代入し、それに応じて表示します。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Boolean status=true; Console.Write(status); Console.ReadKey(); } } }
Code 説明:-
- ブール データ型は、「status」と呼ばれるブール変数を宣言するために指定されます。 次に、変数には true/false の値が割り当てられます。
- 最後に、console.write 関数を使用して、ブール値をコンソールに表示します。
上記のコードが正しく入力され、プログラムが正常に実行されると、出力が表示されます。
出力:
出力から、trueに等しいブール変数がコンソールに表示されていることがはっきりとわかります。
4) 文字列
String データ型は、String 値を操作するために使用されます。 C# では、データ型はキーワード「String」で表されます。 以下にこのデータ型の例を示します。
この例では、「message」という文字列変数を定義します。 次に、文字列値を変数に割り当て、それに応じて表示します。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class program { static void Main(string[] args) { String message="Hello"; Console.Write(message); Console.ReadKey(); } } }
Code 説明:-
- String データ型は、message という文字列変数を宣言するために指定されます。 次に、変数には「Hello」の値が割り当てられます。
- 最後に、console.write 関数を使用して文字列値をコンソールに表示します。
上記のコードが正しく入力され、プログラムが正常に実行されると、出力が表示されます。
出力:
出力から、messageという文字列変数がコンソールに表示されていることがはっきりとわかります。
C#のデータ型一覧
上記の4つの例は最も一般的な型を網羅していますが、C#には組み込みの値データ型が豊富に用意されています。各型は一定量のメモリを確保し、特定の値の範囲を受け入れるため、データに安全に収まる最小の型を選択することで、プログラムの効率性を維持できます。
| Data Type | サイズ | 範囲 / Descriptexpression CMS |
|---|---|---|
| バイト | 1バイト | 0〜255 |
| 短い | 2バイト | -32,768~32,767 |
| int (Int32) | 4バイト | -2,147,483,648~2,147,483,647 |
| 長い | 8バイト | 非常に大きな整数(±9.2京) |
| フロート | 4バイト | 約6~7桁の精度を持つ小数 |
| 8バイト | 約15~16桁の精度を持つ小数 | |
| 10進数 | 16バイト | お金を表す高精度な小数点(28~29桁) |
| チャリオット | 2バイト | 単一のUnicode文字 |
| ブール | 1バイト | true または false |
これらの値型に加えて、文字列型は最も広く使用されている参照型であり、任意の長さの文字シーケンスを格納します。適切な型を選択することで、オーバーフローエラーや不要なメモリ使用を防ぐことができます。
C#における値型と参照型
C# のデータ型は、値型と参照型の 2 つのグループのいずれかに分類されます。この分類によって、C# がデータをどのように格納するか、また、変数をコピーしたりメソッドに渡したりする際に、変数がどのように動作するかが決まります。
- 値の型: これらは実際のデータを直接、通常はスタックに格納します。 int、double、bool、char、 列挙型、および struct は値型です。ある変数を別の変数に代入すると値がコピーされるため、2 つの変数は独立したままです。
- 参照タイプ: これらは、ヒープ上のデータを指す参照(メモリ アドレス)を格納します。文字列、オブジェクト、配列、クラス インスタンスは参照型です。参照変数をコピーするとアドレスのみがコピーされるため、両方の変数は同じオブジェクトを共有します。
値型変数は常に値を保持するため、決してnullになることはありません。一方、初期化されていない参照型はデフォルトでnullになります。この違いを理解することで、データの変更がプログラム内でどのように処理されるかを予測しやすくなります。
C# での型変換
C#では、ユーザー入力(常にテキスト)を数値に変換するなど、あるデータ型から別のデータ型へ値を移動させる必要が頻繁に発生します。このプロセスは型変換と呼ばれ、主に3つの方法で行われます。
- 暗黙的な型変換: コンパイラは、int型をdouble型に代入する場合など、データ損失のリスクがない場合に自動的に変換を行います。特別な構文は必要ありません。
- 明示的な型変換(キャスト): 対象の型を括弧で囲みます。例: (int)myDouble型変換ではデータが失われる可能性があり、例えばdouble型をint型に変換すると小数点以下が失われるため、そのリスクを意図的に受け入れる必要があります。
- ヘルパーメソッド: Convertクラス(Convert.ToInt32)と各型のParseメソッド(int.Parse)は文字列を数値に変換し、ToStringメソッドは値を再び読みやすいテキストに戻します。
適切な変換を選択することで、データの正確性が保たれ、代入の両側の型が一致しない場合に発生する実行時エラーを防ぐことができます。








