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' */

変数を正しく初期化することは良いプログラミング習慣です。そうしないと、プログラムが予期しない結果を生じることがあります。

さまざまな型の変数を使用した次の例を参照してください。

实例

using System;
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種類の式:

  1. lvalue:lvalue 式は代入文の左辺または右辺に出現できます。

  2. rvalue:rvalue 式は代入文の右辺に出現でき、代入文の左辺には出現できません。

変数は lvalue であるため、代入文の左辺に出現できます。数値は rvalue であるため、代入することはできず、代入文の左辺に出現できません。次に有効なステートメントを示します:

int g = 20;

次に無効なステートメントを示します。コンパイル時エラーが発生します:

10 = 20;
其他扩展