工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C# 変数とプリミティブデータ型:完全マスターガイド

C# 変数と(プリミティブ)データ型

このチュートリアルでは、変数、C#での変数作成方法、C#プログラミング言語がサポートするさまざまなデータ型について学びます。

変数はメモリ位置に与えられた象徴的な名前です。変数はコンピュータプログラムでデータを格納するために使用されます。


C#での変数宣言方法

C#で変数を宣言する例です。

int age;

この例では、int(整数)型の変数ageが宣言され、整数値のみを格納できます。

プログラムの後で変数に値を代入することもできます:

int age;
...
...
...
age = 24;

しかし、宣言時に初期化することも可能です:

int age = 24;

ここではint型の変数ageを宣言し、同時に24で初期化しています。

変数なので、値を後から変更することもできます:

int age = 24;
age = 35;

ここではageの値が24から35に変更されました。


C#では変数を使用する前に宣言する必要があります。つまり、変数の名前と型が、値を代入する前に分かっていなければなりません。これがC#が静的型付け言語と呼ばれる理由です。

一度宣言されると、スコープ内で変数のデータ型を変更することはできません。スコープは、変数が見える、または使用可能なコードブロックと考えられます。前の文が理解できなくても心配いりません。後の章でスコープについて学びます。

現時点では、C#では以下ができないことを覚えておいてください:

int age;
age = 24;
...
...
...
float age;

暗黙的に型指定される変数

あるいはC#では、varキーワードを使って型を指定せずに変数を宣言できます。このような変数を暗黙的に型指定されるローカル変数と呼びます。

varキーワードで宣言された変数は、宣言時に初期化しなければなりません。

var value = 5;

コンパイラは代入された値から変数の型を推論します。上記例ではvalueはint型になります。これは以下と等価です:

int value;
value = 5;

暗黙的に型指定されるローカル変数の詳細は別途学習できます。


C#での変数命名規則

変数命名には一定のルールがあります。C#での変数命名ルールは以下の通りです:

  1. 変数名には文字(大文字・小文字)、アンダースコア(_)、数字のみ使用可能です。
  2. 変数名は文字、アンダースコア、または@シンボルで始める必要があります。例:
    C# 変数命名規則
    変数名備考
    name有効
    subject101有効
    _age有効(プライベートメンバ変数の命名慣習として推奨)
    @break有効(名前が予約キーワードの場合に使用)
    101subject無効(数字で始まる)
    your_name有効
    your name無効(空白を含む)
  3. C#は大文字小文字を区別します。ageとAgeは別の変数を指します。
  4. 変数名はC#キーワードであってはなりません。例えばif、for、usingは変数名にできません。C#キーワードについては次のチュートリアルで詳しく説明します。

変数命名のベストプラクティス

  1. 意味のある変数名を選びます。例えばname、age、subjectはn、a、sよりわかりやすいです。
  2. ローカル変数にはcamelCase記法(小文字で開始)を使用します。例:numberOfStudents、ageなど。
  3. パブリックメンバ変数にはPascalCaseまたはCamelCase(大文字で開始)を使用します。例:FirstName、Priceなど。
  4. プライベートメンバ変数には先頭アンダースコア(_)に続けてcamelCase記法を使用します。例:_bankBalance、_emailAddressなど。

C#の命名規約の詳細はこちらを参照してください。

パブリック/プライベートメンバ変数については後で学習します。


C# プリミティブデータ型

C#の変数は大きく値型と参照型に分類されます。このチュートリアルでは、値型のサブクラスであるプリミティブ(単純)データ型について説明します。

参照型は後のチュートリアルで扱います。変数型について詳しく知りたい場合はC# Types and variables(公式ドキュメント)を参照してください。

ブール型 (bool)

例:

using System;
namespace DataType
{
    class BooleanExample
    {
        public static void Main(string[] args)
        {
            bool isValid = true;
            Console.WriteLine(isValid);
        }
    }
}

実行結果:

True

符号付き整数型

これらのデータ型は整数値(正と負)を保持します。利用可能なビットのうち1ビットが符号用です。

1. sbyte

例:

using System;
namespace DataType
{
    class SByteExample
    {
        public static void Main(string[] args)
        {
            sbyte level = 23;
            Console.WriteLine(level);
        }
    }
}

実行結果:

23

範囲外(-128未満または127超)の値を代入して結果を確認してみてください。


2. short

例:

using System;
namespace DataType
{
    class ShortExample
    {
        public static void Main(string[] args)
        {
            short value = -1109;
            Console.WriteLine(value);
        }
    }
}

実行結果:

-1109

3. int

例:

using System;
namespace DataType
{
    class IntExample
    {
        public static void Main(string[] args)
        {
            int score = 51092;
            Console.WriteLine(score);
        }
    }
}

実行結果:

51092

4. long

例:

using System;
namespace DataType
{
    class LongExample
    {
        public static void Main(string[] args)
        {
            long range = -7091821871L;
            Console.WriteLine(range);
        }
    }
}

実行結果:

-7091821871

符号なし整数型

これらのデータ型は0以上の値のみ保持します。負の値がないことが確実な場合に使用します。

1. byte

例:

using System;
namespace DataType
{
    class ByteExample
    {
        public static void Main(string[] args)
        {
            byte age = 62;
            Console.WriteLine(age);
        }
    }
}

実行結果:

62

2. ushort

例:

using System;
namespace DataType
{
    class UShortExample
    {
        public static void Main(string[] args)
        {
            ushort value = 42019;
            Console.WriteLine(value);
        }
    }
}

実行結果:

42019

3. uint

例:

using System;
namespace DataType
{
    class UIntExample
    {
        public static void Main(string[] args)
        {
            uint totalScore = 1151092;
            Console.WriteLine(totalScore);
        }
    }
}

実行結果:

1151092

4. ulong

例:

using System;
namespace DataType
{
    class ULongExample
    {
        public static void Main(string[] args)
        {
            ulong range = 17091821871L;
            Console.WriteLine(range);
        }
    }
}

実行結果:

17091821871

浮動小数点型

これらのデータ型は小数点を含む数値を保持します。例:12.36、-92.17など。

1. float

例:

using System;
namespace DataType
{
    class FloatExample
    {
        public static void Main(string[] args)
        {
            float number = 43.27F;
            Console.WriteLine(number);
        }
    }
}

実行結果:

43.27

2. double

例:

using System;
namespace DataType
{
    class DoubleExample
    {
        public static void Main(string[] args)
        {
            double value = -11092.53D;
            Console.WriteLine(value);
        }
    }
}

実行結果:

-11092.53

文字型 (char)

例:

using System;
namespace DataType
{
    class CharExample
    {
        public static void Main(string[] args)
        {
            char ch1 = '\u0042';
            char ch2 = 'x';
            Console.WriteLine(ch1);
            Console.WriteLine(ch2);
        }
    }
}

実行結果:

B x

'B'のUnicode値は'\u0042'なので、ch1を出力すると'B'が表示されます。


10進数型 (decimal)

例:

using System;
namespace DataType
{
    class DecimalExample
    {
        public static void Main(string[] args)
        {
            decimal bankBalance = 53005.25M;
            Console.WriteLine(bankBalance);
        }
    }
}

実行結果:

53005.25

末尾にMまたはmサフィックスを付ける必要があります。付けないとdoubleとして扱われエラーになります。


C# リテラル

次のステートメントを見てみましょう:

int number = 41;

ここで、

リテラルはプログラムに直接現れる固定値です。計算を必要としません。例:5、false、'w'はプログラムに直接現れるリテラルです。


ブールリテラル

例:

bool isValid = true;
bool isPresent = false;

整数リテラル


浮動小数点リテラル


文字および文字列リテラル

C言語

  1. C++変数・リテラル・定数完全ガイド:基礎から実践まで
  2. C++データ型完全ガイド:基本型、修飾子、ベストプラクティス
  3. C言語変数・定数・リテラル完全ガイド
  4. C言語データ型完全解説:int、float、charなど
  5. C言語ストレージクラス完全理解:スコープ・ライフタイム・パフォーマンス
  6. C++変数とデータ型:int、double、char、string、boolを徹底解説
  7. C言語のデータ型完全ガイド:整数、浮動小数点、void型
  8. Python データ型マスター: 実践ガイド
  9. Java変数とリテラル:包括的ガイド
  10. Javaプリミティブデータ型:例付き完全ガイド
  11. Java変数の種類:ローカル、インスタンス、クラス変数を徹底解説