C#-変数

変数は、プログラムが操作できるストレージ領域に付けられた名前に他なりません。C#の各変数には特定のタイプがあり、変数のメモリのサイズとレイアウト、そのメモリ内に格納できる値の範囲、および変数に適用できる一連の操作を決定します。

C#で提供される基本的な値のタイプは、次のように分類できます。

タイプ
整数型 sbyte、byte、short、ushort、int、uint、long、ulong、およびchar
浮動小数点型 フロートとダブル
10進タイプ 10進数
ブール型 割り当てられた真または偽の値
null許容型 ヌル可能データ型

C#では、次のような他の値型の変数を定義することもできます。 enum およびなどの変数の参照型 class、これについては次の章で説明します。

変数の定義

C#での変数定義の構文は次のとおりです。

<data_type> <variable_list>;

ここで、data_typeは、char、int、float、double、または任意のユーザー定義データ型を含む有効なC#データ型である必要があり、variable_listは、コンマで区切られた1つ以上の識別子名で構成できます。

いくつかの有効な変数定義をここに示します-

int i, j, k;
char c, ch;
float f, salary;
double d;

定義時に変数を次のように初期化できます。

int i = 100;

変数の初期化

変数は、等号とそれに続く定数式で初期化(値が割り当て)されます。初期化の一般的な形式は次のとおりです。

variable_name = value;

変数は、宣言で初期化できます。初期化子は、等号とそれに続く−としての定数式で構成されます。

<data_type> <variable_name> = value;

いくつかの例は-

int d = 3, f = 5;    /* initializing d and f. */
byte z = 22;         /* initializes z. */
double pi = 3.14159; /* declares an approximation of pi. */
char x = 'x';        /* the variable x has the value 'x'. */

変数を適切に初期化することは良いプログラミング手法です。そうしないと、プログラムが予期しない結果を生成する場合があります。

次の例では、さまざまなタイプの変数を使用しています-

using System;

namespace VariableDefinition {
   class Program {
      static void Main(string[] args) {
         short a;
         int b ;
         double c;

         /* actual initialization */
         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

ユーザーからの値の受け入れ

ザ・ Console のクラス System 名前空間は機能を提供します ReadLine() ユーザーからの入力を受け入れ、それを変数に格納するため。

例えば、

int num;
num = Convert.ToInt32(Console.ReadLine());

関数 Convert.ToInt32() ユーザーが入力したデータをintデータ型に変換します。 Console.ReadLine() 文字列形式のデータを受け入れます。

C#での左辺値と右辺値の式

C#には2種類の式があります-

  • lvalue −左辺値である式は、代入の左側または右側のいずれかとして表示される場合があります。

  • rvalue −右辺値である式は、代入の右側に表示される場合がありますが、左側には表示されない場合があります。

変数は左辺値であるため、割り当ての左側に表示される場合があります。数値リテラルは右辺値であるため、割り当てられず、左側に表示されない場合があります。以下は有効なC#ステートメントです-

int g = 20;

しかし、以下は有効なステートメントではなく、コンパイル時エラーを生成します-

10 = 20;