C#でconst配列を宣言する方法
C#では、constキーワードを使って配列を直接宣言することができません。そこで、readonly修飾子を使用して、定数のように扱える配列を宣言します。
public static readonly string[] a = { "Car", "Motorbike", "Cab" };readonlyとconstの違い
readonlyとconstの大きな違いは、readonlyの場合は実行時に値を設定できるという点です。constはコンパイル時に値が確定している必要がありますが、readonlyであればコンストラクタ内などで初期化することも可能です。
ReadOnlyCollectionを使った代替方法
上記以外のアプローチとして、ReadOnlyCollection<T>を使用する方法もあります。
public ReadOnlyCollection<string> a { get { return new List<string> { "Car", "Motorbike", "Cab" }.AsReadOnly(); } }ただしこの書き方では、プロパティにアクセスするたびに新しいリストが生成されるため、パフォーマンス面で注意が必要です。
.NET Framework 4.5以降での改善された書き方
.NET Framework 4.5からは、自動実装プロパティの初期化子を利用できるようになり、より簡潔に記述できます。
public ReadOnlyCollection<string> a { get; } = new ReadOnlyCollection<string>(
new string[] { "Car", "Motorbike", "Cab" }
);この書き方であれば、読み取り専用コレクションを一度だけ生成し、外部からの変更を防ぎつつ、安全かつ効率的に定数的な配列を実現できます。
-
C#の多次元配列とは?2次元配列の宣言方法と使い方を実例付きで解説
C#では、多次元配列を扱うことができます。int型の2次元配列は、次のように宣言します。int[] a;多次元配列の中で最もシンプルな形式が2次元配列です。2次元配列とは、1次元配列を要素として持つ配列、すなわち「配列の配列」のような構造をイメージすると分かりやすいでしょう。例えば、次の図は3行4列の2次元配列を表しています。多次元配列の使用例ここからは、実際にC#で多次元配列を操作するサンプルコードを見ていきましょう。以下の例では、5行2列の2次元配列を宣言・初期化し、入れ子になったforループですべての要素を出力します。using System; namespace ArrayApplic
-
C#での配列の宣言方法をわかりやすく解説
配列(Array)とは、同じデータ型の複数の変数をひとつにまとめて管理できるデータ構造です。配列の要素は、メモリ上の連続した領域に格納されます。最も小さいアドレスが最初の要素に対応し、最も大きいアドレスが最後の要素に対応します。配列宣言の基本構文C#で配列を宣言する際は、以下のように記述します。type[] arrayName;それぞれの要素の意味は次のとおりです。type:配列に格納するデータ型(int、string、double など)arrayName:配列につける名前[ ]:この変数が配列であることを示す角括弧。実際のサイズは new キーワードでインスタンス化する際に指定します配列宣