Csharp-variables

提供:Dev Guides
移動先:案内検索

C#-変数

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

C#で提供される基本的な値の種類は次のように分類できます-

Type Example
Integral types sbyte, byte, short, ushort, int, uint, long, ulong, and char
Floating point types float and double
Decimal types decimal
Boolean types true or false values, as assigned
Nullable types Nullable data types

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

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

*System* 名前空間の *Console* クラスは、ユーザーからの入力を受け入れて変数に保存するための関数* ReadLine()*を提供します。

例えば、

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

C#の左辺値と右辺値式

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

  • 左辺値-左辺値である式は、割り当ての左辺または右辺のいずれかとして表示される場合があります。
  • rvalue -右辺値である式は、割り当ての右側ではなく左側に表示されます。

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

int g = 20;

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

10 = 20;