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

C#でメソッドに配列を渡す方法をわかりやすく解説

C#では、メソッドに配列を渡したい場合、引数として配列を指定するだけで実現できます。配列は参照型であるため、メソッド内で受け取った配列の要素にアクセスしたり、値を操作したりすることが可能です。

配列を受け取るメソッドの定義方法

メソッドが配列を受け取るには、パラメータの型を「要素の型[]」のように宣言します。以下は、int型の配列とそのサイズを受け取るメソッドの例です。

int displaySum(int[] arr, int size) {
}

このメソッドを呼び出す際は、次のように配列変数を引数として渡します。

sum = d.displaySum(myArr, 5);

サンプルコード

ここでは、配列の要素の合計を計算して返すメソッド「displaySum」を作成し、Mainメソッドから呼び出す完全な例を紹介します。

using System;

namespace Test {
    class Demo {
        int displaySum(int[] arr, int size) {
            int i;
            int sum = 0;

            for (i = 0; i < size; ++i) {
                sum += arr[i];
            }

            return sum;
        }

        static void Main(string[] args) {
            Demo d = new Demo();

            int[] myArr = new int[] {59, 34, 76, 65, 12, 99};
            int sum;

            sum = d.displaySum(myArr, 5);

            /* 戻り値を出力 */
            Console.WriteLine("Sum: {0}", sum);
            Console.ReadKey();
        }
    }
}

実行結果

上記のコードを実行すると、配列の先頭から5つ分の要素(59 + 34 + 76 + 65 + 12)の合計が出力されます。

Sum: 246

ポイントまとめ

  • メソッドに配列を渡すには、パラメータを「int[] arr」のように配列型で宣言します。
  • 配列は参照渡しのような挙動になるため、メソッド内での変更が呼び出し元にも影響する場合があります。
  • 実際の要素数より小さいサイズを渡した場合、その範囲内の要素だけが処理されます。上記の例では6つの要素を持つ配列のうち、最初の5つのみが合計されています。
  1. 指定した制約のもとで2つの配列の要素を加算するには?

    この問題では、2つの配列の要素を加算する際に特定の制約が設けられており、その制約に基づいて加算結果の格納方法が変わります。2つの配列 a[] と b[] の対応する要素同士の合計を、3つ目の配列 c[] に格納していきます。ただし、格納される各要素は必ず1桁の数値でなければならず、もし合計が2桁以上になった場合は、その数値を桁ごとに分割して個別の要素として格納します。例えば、ある要素の合計が27となった場合、3つ目の配列には「2」と「7」という2つの要素として保存されます。Input: a[] = {1, 2, 3, 7, 9, 6}      

  2. C/C++の多次元配列とは?基本概念から動的メモリ確保まで徹底解説

    C/C++における多次元配列とは、簡単に言えば「配列の配列」として定義されるデータ構造です。多次元配列では、データが表形式(行優先順/row-major order)でメモリ上に格納されます。 以下の図は、3×3×3の次元を持つ多次元配列のメモリ割り当て戦略を示したものです。 アルゴリズム 2次元配列を動的に確保し、操作するための基本的な手順は以下の通りです。 Begin 配列の次元を宣言する new演算子を使用して2次元配列 a[][] を動的に確保する 配列に要素を格納する 配列の内容を出力する deleteによってメモリを解放する End サン