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

C#でパラメータ配列(params)を定義する方法を徹底解説

メソッドを宣言する際、引数として渡される値の数が事前に確定していない場合があります。このような場面で活躍するのが、C#のパラメータ配列(params配列)です。

paramsキーワードの基本構文

paramsキーワードを使用すると、可変個の引数を1つの配列として受け取るメソッドを定義できます。基本構文は以下のとおりです。

public int AddElements(params int[] arr) { }

呼び出し側では、引数をカンマ区切りで任意の個数だけ渡せるため、同じメソッドでさまざまな数のデータを柔軟に処理できます。

サンプルコード

以下は、params配列を使って複数の整数を受け取り、その合計を返す完全なサンプルプログラムです。

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("The sum is: {0}", sum);
            Console.ReadKey();
        }
    }
}

実行結果

The sum is: 1620

この例では、AddElementsメソッドに5つの整数値(300、250、350、600、120)を渡しています。これらの値は自動的にint[]型の配列としてまとめられ、foreachループによって合計値「1620」が計算されます。

params使用時の注意点

  • paramsパラメータは、メソッドのパラメータリストの最後に配置する必要があります。
  • 1つのメソッドで指定できるparamsパラメータは1つだけです。
  • 引数を渡さずに呼び出した場合、空の配列として扱われます。
  • 配列を明示的に渡すことも可能です(例:AddElements(new int[] { 1, 2, 3 }))。
  1. JavaScriptでメソッドを定義するには?初心者向けに基本から解説

    JavaScriptのメソッドとは?JavaScriptにおけるメソッドとは、オブジェクトに対して実行される「動作(アクション)」のことです。メソッドの本体は関数定義であり、その関数がオブジェクトのプロパティ値として格納されます。つまり、「オブジェクトの中に組み込まれた関数」がメソッドであると考えると分かりやすいでしょう。メソッド定義の基本構文オブジェクトリテラルの中で、プロパティ名に続けて function キーワードを使い関数を定義するだけで、メソッドを作成できます。var オブジェクト名 = { プロパティ名: 値, メソッド名: function() { // 実行した

  2. JavaScriptで配列をreduceする方法|reduce()メソッドで配列要素を合計する

    JavaScriptのreduce()メソッドは、配列の各要素を先頭から順に処理し、その結果を1つの値にまとめる(畳み込む)ための配列メソッドです。数値の合計を求めるだけでなく、配列からオブジェクトを組み立てたり、条件に応じてデータを集約したりと、幅広い場面で活用されています。reduce()メソッドの基本構文 { return 戻り値; }, 初期値);accumulator(アキュムレータ):直前のコールバック関数が返した値(累積値)。最初のループでは初期値、または配列の第1要素が代入されます。currentValue:現在処理している配列の要素。初期値:累積値の出発点となる値。省略し