C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のパラメーター配列(params)とは?基本構文と使い方を実例で解説

C#のパラメーター配列(params)は、メソッドを宣言する際に、引数として渡される値の個数が事前にわからない場合に非常に便利な機能です。paramsキーワードを使うことで、呼び出し側は任意の数の引数を渡すことができ、メソッド側ではそれらを1つの配列として受け取ります。

paramsキーワードの基本構文

paramsキーワードは、以下の構文で使用します。

public int function_name(params int[] variable_name) {}

このように、パラメーターの型の前にparamsを付けるだけで、可変長の引数リストを受け取れるようになります。なお、paramsパラメーターは必ずメソッドの引数リストの最後に指定する必要がある点に注意してください。

パラメーター配列の使用例

ここでは、複数の整数を受け取り、その合計を返すメソッドを例に、C#におけるパラメーター配列の使い方を見ていきましょう。

サンプルコード

using System;

namespace Program {
    class ParamArray {
        public int AddElements(params int[] arr) {
            int sum = 0;

            foreach (int i in arr) {
                sum += i;
            }
            return sum;
        }
    }

    class Demo {
        static void Main(string[] args) {
            ParamArray app = new ParamArray();
            int sum = app.AddElements(300, 250, 350, 600, 120);

            Console.WriteLine("合計は: {0}", sum);
            Console.ReadKey();
        }
    }
}

実行結果

合計は: 1620

コードの解説

上記の例では、AddElementsメソッドがparams int[] arrという形で宣言されています。これにより、MainメソッドからはAddElements(300, 250, 350, 600, 120)のように、カンマ区切りで任意の個数の整数を直接渡すことができます。

メソッド内部では、渡された値が自動的にint型の配列arrに格納され、foreachループを使って各要素を順番に加算していきます。その結果、5つの数値の合計である「1620」が出力されます。

まとめ

paramsキーワードを使用したパラメーター配列を活用すれば、引数の個数が不定の場合でも柔軟にメソッドを設計できます。引数の数ごとにオーバーロードを定義する必要がなくなり、コードの簡潔さと再利用性が向上するため、合計計算や文字列連結など、さまざまな場面で役立ちます。

  1. JavaScriptの連想配列とは?基本的な仕組みと使い方を解説

    JavaScriptにおける「連想配列(Associative Array)」とは、数値のインデックスの代わりに、ユーザーが自由に定義した文字列キーを使って値にアクセスできるデータ構造のことです。厳密に言えば、JavaScriptの連想配列の正体はオブジェクトであり、他の言語にあるような専用の連想配列型は存在しません。 通常の配列と比べると、連想配列には次のような特徴があります。 lengthプロパティを持たない:要素数を取得する機能がありません。 通常のforループでは走査できない:インデックスが存在しないため、for...in文などを使って反復処理を行います。 JavaScriptの

  2. C#のparamsキーワードで可変長引数(パラメーター配列)を使う方法

    メソッドを宣言する際、引数として渡される値の数が事前にわからないことがあります。そんなときに役立つのが、C#のparamsキーワードによるパラメーター配列です。paramsを使えば、呼び出し側で渡す引数の個数を自由に変えられるため、柔軟なメソッド設計が可能になります。paramsの基本的な宣言方法パラメーター配列は、以下のようにメソッドの引数にparamsキーワードを付けて宣言します。public int AddElements(params int[] arr) { }C#でのparams実装例次のサンプルコードでは、params int[]を受け取るメソッドを定義し、渡されたすべての整数の