ここでは、C#を使用する上での基本的な型や宣言についての解説をします。いろいろな種類があって最初は戸惑うかもしれませんが、使ってみればそんなに難しいことはありませんし、もし、意味や使い方を忘れてしまっても、もう一度このページを見ればよいだけのことです(^-^)。
以下の表に、C#で使われる組み込み型を示します。
型 | 説明 |
---|---|
object | 他のすべての型の最終的な基本型 |
string | 文字列型; 文字列にはUNICODE文字が使用される |
sbyte | 8ビット符号付き整数型 |
short | 16ビット符号付き整数型 |
int | 32ビット符号付き整数型 |
long | 64ビット符号付整数型 |
byte | 8ビット符号なし整数型 |
ushort | 16ビット符号なし整数型 |
uint | 32ビット符号なし整数型 |
ulong | 64ビット符号なし整数型 |
float | 単精度浮動小数点型 |
double | 倍精度浮動小数点型 |
bool | ブール型; 真偽値はtrueまたはfalseのいずれか |
char | 文字型; UNICODE文字 |
decimal | 高精度十進数型; 有効数字は28桁 |
intなどの組み込み型は、じつは、システムが提供している型の省略形です。例えば、intはSystem.Int32を示しています。プログラム中ではどちらも使用できますが、読み易さなども考慮して、できるだけ省略形を使用するほうが良いでしょう。
組み込み型がいろいろとたくさん出てきましたが、大まかに捉えれば、文字列型および文字型(string, char)、符号付き整数型(sbyte, short, int, long)、符号なし整数型(byte, ushort, uint, ulong)、浮動小数点型(float, double)、ブール型(bool)、高精度十進数型(decimal)、そして、すべて型の基本型(object)の7つです。そう考えれば、それほど複雑にはならないでしょう。
では、上記の型についての使い方の例を下に示します。
List 1.2 いろいろな型を使ったプログラム |
using System; class Example { static void Main() { object ob = null; string str = "string"; |
object: string: string sbyte: 10 short: 11 int: 12 long: 13 byte: 14 ushort: 15 uint: 16 ulong: 17 float: 1.23 double: 2.34 bool: True char: A decimal: 3.45 |
C#での型は、値型と参照型の二つに区分けされます。値型には、単純型(char, int, float)、列挙型、構造体型が含まれます。参照型には、クラス型、インターフェイス型、デリゲート型、および配列型が含まれます。上記で示した組み込み型もこの二つに分けられるのですが、参照型にはobject型とstring型があり、その他が値型となります。
値型は、変数が直接データを保持しています。それに対して、参照型では、変数オブジェクトへの参照を保持しており、別々の変数が同じオブジェクトを参照できます。そのため、一方の変数を変更すると、もう一方の変数が参照しているオブジェクトも同じように変更されます。値型では、それぞれの変数が独立にデータを保持しているので、1つの変数を変更しても、ほかの変数が変更されることはありません。
以下に、その例を示します。
List 1.3 値型と参照型の例 |
using System; |
値型 struct: 0, 10 参照型 class: 10, 10 |
この例のように、値型では、一方のオブジェクトを変更しても別のオブジェクトは影響されませんが、参照型では、一方のオブジェクトの変更が、もう一方にそのまま反映されます。
次の節では、参照型の一つ、配列型について解説していきます。