変数
変数の使い方 ▲
/// <summary>
/// プレイヤー設定.
/// </summary>
private PlayerSettings playerSettings;
/// <summary>
/// 行動時間.
/// </summary>
private float moveTime = 0f;
C#(CSharp) は静的型付け言語なので先に変数の型を宣言する必要がある
厳密な型を指定しない var などは基本的に避けるべきだが、変数の型がぱっと見て明確になっている場合は使うこともある
ドキュメントコメントはXML形式で記述されることが多い
変数の型一覧 ▲
C# の型の分類についてこちらのサイトが凄く参考になるため引用させていただく
各整数型の型名とサイズ等の情報について以下に記す
型名 | 領域サイズ | 符号の有無 | 扱える値の範囲 |
---|---|---|---|
byte | 1バイト | なし | 0 ~ 255 |
sbyte | 1バイト | あり | -128 ~ 127 |
short | 2バイト | あり | -32,768 ~ 32,767 |
ushort | 2バイト | なし | 0 ~ 65,535 |
int | 4バイト | あり | -2,147,483,648 ~ 2,147,483,647 |
uint | 4バイト | なし | 0 ~ 4,294,967,295 |
long | 8バイト | あり | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
ulong | 8バイト | なし | 0 ~ 18,446,744,073,709,551,615 |
整数型以外の組込み型は以下のものがある
種別 | 型名 |
---|---|
文字型 | char |
浮動小数点型(単精度) | float |
浮動小数点型(倍精度) | double |
デシマル(10進小数) | decimal |
論理値型 | bool |
文字列型 | string |
オブジェクト型 | object |
デシマルはまったくと言っていいほど使ったことがなかったが、0.1など2進少数では正確に表すことができない数字を表現できるため、金融などの誤差を許されない分野において利用されているようだ
オーバーフロー ▲
変数の型が扱える値の範囲を超えた場合オーバーフローが起きる
オーバーフローはデフォルトでは無視する挙動になっており、これを検出するためには checked キーワードを使用する方法がある
逆にオーバーフローを無視したい場合は unchecked キーワードを使用できる
try
{
checked
{
sbyte a = 64;
sbyte b = 65;
sbyte c = (sbyte)(a + b);
}
}
catch(OverflowException ex)
{
Console.Write(ex.Message);
}
浮動小数点型のオーバーフローは値が無限大(infinity)となる
また絶対値が浮動小数点数で表せる値の範囲を下回る場合(アンダーフロー)、値は0になる
浮動小数点数の場合は checked 文中であってもオーバーフローによる例外は発生しない
null ▲
null を代入できるのは、参照型か Nullable 型のみとなる
なので、例えば struct(構造体)などは値型なので null が代入できない
文字型、文字列型 ▲
C#では内部的に Unicode という2バイトの文字コードが使われている。
文字型(char)は1文字を表すことができるが、その実態は2バイトの数値である
同じ2バイトの領域サイズをもつ short や ushort とは型落ちなく変換することができる
short x = (short)'a'; // 97
char c = (char)97; // 'a'
上記の通り文字リテラルは '(シングルクォーテーション) を使用して囲うことで表現する
複数の文字を連結した文字列を変数で取り扱うには string(文字列型)を使用する
文字列リテラルは "(ダブルクォーテーション) を使用して囲うことで表現する
文字の配列(char[])にはない機能として連結、検索、置換、数値への変換などが用意されている
エスケープシーケンス ▲
一部書けない文字(改行コードやnull文字など)を表現するため、エスケープシーケンスという特殊記法が用意されている
エスケープシーケンスの一部を以下に記す
文字 | 用途 |
---|---|
\' | '(引用符)を文字リテラルの中に書くために使う |
\" | "(2重引用符)を文字列リテラルの中に書くために使う |
\\ | \(バックスラッシュ)を書くために使う |
\0 | null文字(文字列の終端を表したり特別な使い方をする文字) |
\n | 改行(new line) |
\t | 水平タブ |
- [C# によるプログラミング入門] C# の型
参考文献 ▲
目次