Menu
Coddy logo textTech

配列のメソッド

CoddyのC#ジャーニー「基礎」セクションの一部 — レッスン 58/69。

配列には多くのメソッド(機能)が備わっています。メソッドにアクセスするには、次のように記述します:

Array.MethodName(arrayName, otherParameters)

一般的な配列メソッド:

Clear(array, index, length) - 配列の要素をクリアし、指定した範囲の要素を 0、false、または null に設定します:

int[] numbers = {1, 2, 3, 4, 5};
Array.Clear(numbers, 1, 3);
// numbers は {1, 0, 0, 0, 5} になります

Reverse(array) - 配列内の要素の順序を反転させます。

int[] numbers = {1, 2, 3, 4, 5};
Array.Reverse(numbers);
// numbers は {5, 4, 3, 2, 1} になります

Sort(array) - 配列の要素を昇順にソートします:

int[] numbers = {5, 2, 9, 1, 5, 6};
Array.Sort(numbers);
// numbers は {1, 2, 5, 5, 6, 9} になります

Copy(sourceArray, sourceIndex, destinationArray, destinationIndex, length) - ある配列から別の配列へ、指定した範囲の要素をコピーします:

int[] source = {1, 2, 3, 4, 5};
int[] destination = new int[5];
Array.Copy(source, 0, destination, 0, 5);
// destination は {1, 2, 3, 4, 5} になります

異なる位置を使用した例:

int[] source = {1, 2, 3, 4, 5};
int[] destination = new int[7];
Array.Copy(source, 1, destination, 2, 3);
// destination は {0, 0, 2, 3, 4, 0, 0} になります
// インデックス 1 から始まる source の要素 2, 3, 4 をコピーしました
// それらをインデックス 2 から始まる destination に配置しました
challenge icon

チャレンジ

簡単

2つの配列を引数として受け取るMergeという名前のメソッドを作成してください。このメソッドは、2つの配列を1つのソートされた配列にマージして返します。

例えば、次のような引数の場合:Merge(new string[] {"1", “4”, “2”}, new string[] {"2", “5”, “9”})["1", “2”, “2”, “4”, “5”, “9”] を返します。

ある配列から別の配列に要素をコピーするには、Array.Copy()を使用します。構文は次の通りです: 

Array.Copy(sourceArray, sourceStartPosition, destinationArray, destinationStartPosition, length)

例:

// ソース配列
string[] sourceArray = {"1", "2", "3", "4", "5"};

// コピー先配列
string[] destinationArray = new string[5];

// sourceArrayからdestinationArrayに要素をコピーする
Array.Copy(sourceArray, 0, destinationArray, 0, 5);

コピー後のコピー先配列:1 2 3 4 5

チートシート

配列には、Array.MethodName() 構文でアクセスできる組み込みメソッドがあります。

  • Clear(array, index, length) - 要素をゼロ、false、または null に設定します
  • Reverse(array) - 要素の順序を反転させます
  • Sort(array) - 要素を昇順にソートします
  • Copy(sourceArray, sourceIndex, destinationArray, destinationIndex, length) - 配列間で要素をコピーします

例:

int[] numbers = {1, 2, 3, 4, 5};
Array.Clear(numbers, 1, 3);
// numbers will be {1, 0, 0, 0, 5}
int[] numbers = {1, 2, 3, 4, 5};
Array.Reverse(numbers);
// numbers will be {5, 4, 3, 2, 1}
int[] numbers = {5, 2, 9, 1, 5, 6};
Array.Sort(numbers);
// numbers will be {1, 2, 5, 5, 6, 9}
int[] source = {1, 2, 3, 4, 5};
int[] destination = new int[5];
Array.Copy(source, 0, destination, 0, 5);
// destination will be {1, 2, 3, 4, 5}

自分で試してみよう

using System;


public class Program {
    public static string[] Merge(string[] arr1, string[] arr2) {
        // ここにコードを書いてください
    }

    public static void Main(string[] args) {
        string textArr1 = Console.ReadLine();
        string textArr2 = Console.ReadLine();
        string[] arr1 = textArr1.Split(",");
        string[] arr2 = textArr2.Split(",");

        string[] mergedArray = Merge(arr1, arr2);
        Console.WriteLine(string.Join(", ", mergedArray));
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン