C# 变量
変数とは、プログラムが操作するための記憶領域の名前にすぎません。
C# では、変数はデータを格納および表現するための識別子です。変数を宣言する際には、変数の型を指定し、必要に応じて初期値を割り当てることができます。
C# では、すべての変数は特定の型を持ちます。型は変数のメモリサイズとレイアウト、メモリに格納できる値の範囲、変数に対して実行できる一連の操作を決定します。
すでにさまざまなデータ型について説明しました。C# で提供される基本的な値型は、おおまかに次のカテゴリに分類できます。
| 类型 | 举例 |
|---|---|
| 整数类型 | sbyte、byte、short、ushort、int、uint、long、ulong および char |
| 浮点型 | float, double |
| 十进制类型 | decimal |
| 布尔类型 | true または false 値、指定された値 |
| 空字符串 | string |
| 空类型 | null許容型 |
C# では、他の値型の変数を定義することもできます。たとえば、enum、また参照型の変数を定義することもできます。たとえば、classこれらについては後の章で説明します。この章では、基本的な変数型のみを扱います。
C# 4.0 では動的型 (dynamic) が導入されました。これにより、実行時に変数の型を推論できます。これは特定の状況では役立ちますが、通常はパフォーマンスとコンパイル時の型チェックを向上させるために、静的型を使用するのが最善です。
dynamic dynamicVariable = "This can be any type";
C# での変数定義
C# における変数定義の構文:
<data_type> <variable_list>;
ここで、data_type は有効な C# データ型でなければならず、char、int、float、double、またはその他のユーザー定義のデータ型を使用できます。variable_list は、カンマで区切られた1つ以上の識別子名で構成できます。
有効な変数定義の例を次に示します。
int i, j, k; char c, ch; float f, salary; double d;
変数の定義時に初期化することができます:
int i = 100;
変数の命名規則
C# では、変数の命名にはいくつかの規則に従う必要があります:
- 変数名には、英字、数字、およびアンダースコアを含めることができます。
- 変数名は英字またはアンダースコアで始まる必要があります。
- 変数名は大文字と小文字を区別します。
- C# のキーワードを変数名として使用しないでください。
int myVariable = 10; string _userName = "John";
C# における変数の初期化
変数は、等号の後に定数式を続けて初期化(代入)されます。初期化の一般的な形式は次のとおりです:
variable_name = value;
変数は宣言時に初期化(初期値の指定)できます。初期化は、等号の後に定数式を続けた形で構成されます。次に示すとおりです:
<data_type> <variable_name> = value;
一些实例:
int d = 3, f = 5; /* 初始化 d 和 f. */ byte z = 22; /* 初始化 z. */ double pi = 3.14159; /* 声明 pi 的近似值 */ char x = 'x'; /* 变量 x 的值为 'x' */
変数を正しく初期化することは良いプログラミング習慣です。そうしないと、プログラムが予期しない結果を生じることがあります。
さまざまな型の変数を使用した次の例を参照してください。
实例
namespace VariableDefinition
{
class Program
{
static void Main(string[] args)
{
short a;
int b ;
double c;
/* 实际初始化 */
a = 10;
b = 20;
c = a + b;
Console.WriteLine("a = {0}, b = {1}, c = {2}", a, b, c);
Console.ReadLine();
}
}
}
上記のコードをコンパイルして実行すると、次の結果が生成されます。
a = 10, b = 20, c = 30
ユーザーからの値を受け取る
System名前空間内のConsoleクラスは関数を提供しますReadLine()、ユーザーからの入力を受け取り、それを変数に格納するために使用されます。例如:
int num; num = Convert.ToInt32(Console.ReadLine());
函数Convert.ToInt32()ユーザーが入力したデータを int データ型に変換します。なぜなら、Console.ReadLine()文字列形式のデータのみを受け付けます。
C# の Lvalues と Rvalues
C# における2種類の式:
lvalue:lvalue 式は代入文の左辺または右辺に出現できます。
rvalue:rvalue 式は代入文の右辺に出現でき、代入文の左辺には出現できません。
変数は lvalue であるため、代入文の左辺に出現できます。数値は rvalue であるため、代入することはできず、代入文の左辺に出現できません。次に有効なステートメントを示します:
int g = 20;
次に無効なステートメントを示します。コンパイル時エラーが発生します:
10 = 20;其他扩展