変数とは
変数とはデータを一時的に保持するための場所です。プログラム中で必要な値を記憶し、それを後で使用するために使われます。変数には名前があり、その名前を使って変数にアクセスできます。
変数の宣言と初期化
C#で変数を使用するには、まずその変数を宣言します。宣言にはデータ型と変数名が必要です。例えば、整数を保持する変数を宣言する場合は次のようになります
int number = 0;
intとは整数を扱うデータ型のことです。
このように変数を宣言する時には「 」のようにします。
変数名の命名規則
変数名の命名規則には以下のようなものがいいとされています。
意味のある名前をつける: 変数名は、その変数が何を表しているのかを明確にするために、意味のある名前をつけましょう。例えば、ユーザーの年齢を保持する変数名を age
とするなどです。
キャメルケースを使用する: C#では、ローカル変数やパラメータ名にキャメルケース(camelCase)を使用します。キャメルケースとは、最初の単語の最初の文字を小文字にし、次の単語の最初の文字を大文字にするスタイルです。
短すぎず、長すぎない名前: 変数名は短すぎず、意味がわかる程度に長くしましょう。例えば、x
や a
などの短すぎる名前は避け、userAge
や totalPrice
など意味が明確な名前を使います
特殊文字を使わない: 変数名にスペース、特殊文字(例:!
, @
, #
など)を使用しないでください。アンダースコア(_
)は許可されていますが、キャメルケースを使う方が一般的です。
予約語を避ける: C#の予約語(例:int
, class
, void
など)は変数名に使用できません。予約語は特別な意味を持つためです。
例
いくつかの具体例を示します:
int studentCount; // 生徒の人数を表す
double totalPrice; // 合計金額を表す
string userName; // ユーザー名を表す
bool isAvailable;// 利用可能かどうかを表す
これらの規則に従うことで、コードが読みやすくなり、他の開発者にも理解しやすくなります。
データ型
データ型とは、プログラムの中で扱うデータの種類のことです。
C#にはさまざまなデータ型があり、各データ型は異なる種類のデータを格納するために使用されます。主に次のようなカテゴリに分けられます:
- 基本データ型(値型)
- 参照型
- null許容型
基本データ型(値型)
これらのデータ型は、変数自体に値を格納します。いくつかの代表的な基本データ型を紹介します:int
:整数値を格納します。
int age = 25
double
:浮動小数点数を格納します。
double height = 1.75;
char
:単一の文字を格納します。
char grade = 'A';
bool
:真偽値を格納します。true
または false
の値を持ちます。
bool isFinished = true;
参照型
参照型は、実際のデータへの参照を保持します。これにより、同じデータを複数の変数で共有することができます。代表的な参照型を以下に示します。
string
:文字列を格納します。
string name = "John";
配列:同じ型のデータの集合を格納します。
int[] numbers = { 1, 2, 3 };
クラスとオブジェクト:ユーザー定義の型を格納します。
Person person = new Person();
null許容型
null許容型(Nullable)は、値型にnull値を持たせることができる型です。例えば、int?
や double?
のように、値型に?
を付けることでnullを許容する型を定義できます。
int? nullableInt = null;
補足:null値とは
nullとは変数がオブジェクトへの参照を持たない状態を示す特別な値です。
参照型の変数は明示的に初期値を入れない限り、nullが初期値になります。
以下のようなコードの場合、例外(エラー)になりますのでご注意ください。
string str = null;
string unspace = str.Trim();// ⇒NullReferenceExceptionが発生する。
このエラーを起きないようにするには以下のようにします。
string str = null;
string unspace = null;
if(str != null){ //ここに表示されている≠は実際には「! =」 のスペースを取ったものです。
unspace = str.Trim();
}
//文字列ですと以下のメソッド存在します。
if(!String.IsNullOrEmpty(str)){ //文字列がnullかEMpty(長さ0の文字列)を判定するメソッド
unspace = str.Trim();
// このようにしているとstrはnullでないことが保証されているためNullReferenceExceptionは発生しない
}
型推論
型推論とは、varキーワードを用いて変数を宣言する際にデータ型を省略することが出来ます。
varキーワードで宣言された変数の本当の型はコンパイラが自動的に推論し、決定します。
var i = 100; //iはintと推論される
var str = "こんにちは。";//strは文字列と推論される
次のような使用の仕方はコンパイルエラーとなります。
var i = 10;
i = "こんにちは";//⇒エラー。一度iはint型と推論されているから文字列型の変数を代入できない
var型はその性質上、変数に初期値を設定する必要があります。初期値を宣言しないと変数が実際の型の推論が出来ないからコンパイルエラーになります。
型推論の欠点。それは一見しただけで変数の実際の型がわかりにくいというのがあげられます。初期値を設定しているのだから明らかだろうと反論があるかと思いますが、万能ではありません。
私は基本的にはvarは使用しない方法で考えています。型は自分で責任を持って設定するものでvarのように逃げ道を作るような事には反対です。
まとめ
変数とはデータを格納するために宣言するものです。データ型がそれぞれあって最低限、int型、string型、bool型を覚えていたら今のところ十分だと思います。
コメント