C#における変数は、データを格納するためのメモリ上の名前付きの場所です。この項では変数の基本概念から詳細な使用方法まで説明します。

基本概念

編集

変数の特徴

編集
  • データの格納: 様々な型のデータを保持できる
  • 型の指定: 静的型付け言語として、変数の型を明示的に指定
  • メモリ参照: メモリ上の特定の場所を参照
  • 値の変更: 実行時に値を変更可能

基本的な使用例

編集
int number;        // 変数の宣言
number = 10;       // 値の代入

string message = "Hello"; // 宣言と初期化を同時に

変数の宣言方法

編集

主な宣言パターン

編集
  1. 明示的な型宣言
    int age = 25;
    string name = "John";
    
  2. 型推論(var)
    var number = 10;      // int型として推論
    var text = "Hello";   // string型として推論
    
  3. 特殊な宣言
    const int MAX_VALUE = 100;     // 定数
    readonly int DAYS_IN_WEEK = 7; // 読み取り専用
    dynamic dynVar = "test";       // 動的型付け
    

複合的な宣言

編集
  1. 複数変数の同時宣言
    int x = 1, y = 2, z = 3;
    
  2. 配列の宣言
    int[] numbers = new int[5];
    string[] names = { "Alice", "Bob" };
    

データ型

編集

プリミティブ型

編集
説明
int 32ビット整数 42
double 64ビット浮動小数点 3.14159
bool 真偽値 true, false
char 16ビット文字 'A'
string 文字列 "Hello"

特殊な型

編集
  • Nullable型: int? num = null;
  • タプル: (string name, int age) person = ("John", 25);

メモリと型の管理

編集

値型と参照型

編集

値型(Value Types)

編集
  • スタックメモリに直接格納
  • 値のコピーが発生
  • 例:int, double, struct
int x = 10;
int y = x;    // xの値がyにコピーされる
x = 20;       // yは影響を受けない(依然として10)

参照型(Reference Types)

編集
  • ヒープメモリに格納され、参照を保持
  • 同じオブジェクトを参照可能
  • 例:class, array, string
int[] arr1 = {1, 2, 3};
int[] arr2 = arr1;    // 同じ配列を参照
arr1[0] = 10;         // arr2[0]も10になる

変数のスコープと寿命

編集
  • ローカル変数: メソッド内で宣言
  • インスタンス変数: クラス内で宣言
  • 静的変数: static修飾子付きで宣言

プログラミングのベストプラクティス

編集
  • 明確な命名規則の使用
  • 適切な型の選択
  • 初期化の確実な実施
  • スコープの最小化

脚註

編集