配列メソッド
CoddyのC#ジャーニー「基礎」セクションの一部。レッスン 59/70。
配列には多くのメソッド(機能)が備わっています。メソッドにアクセスするには、次のように書きます。
Array.MethodName(arrayName, otherParameters)一般的な配列メソッド:
Clear(array, index, length) - indexから始まるlength個の要素をデフォルト値にリセットします。数値の場合は0、boolの場合はfalse、stringの場合は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) - sourceArrayのsourceIndexから始まるlength個の要素を、destinationArrayのdestinationIndexから始まる位置にコピーします。
int[] source = {1, 2, 3, 4, 5};
int[] destination = new int[5];
Array.Copy(source, 0, destination, 0, source.Length);
// destination は {1, 2, 3, 4, 5} になりますチャレンジ
簡単Mergeという名前のメソッドを作成し、引数として2つの配列を受け取ります。このメソッドは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)例:
// Source array
string[] sourceArray = {"1", "2", "3", "4", "5"};
// Destination array
string[] destinationArray = new string[5];
// Copy elements from sourceArray to destinationArray
Array.Copy(sourceArray, 0, destinationArray, 0, sourceArray.Length);コピー後の宛先配列: 1 2 3 4 5
自分で試してみよう
using System;
public class Program {
public static string[] Merge(string[] arr1, string[] arr2) {
string[] result = new string[arr1.Length + arr2.Length];
// arr1 と arr2 を result にコピーする
// 次に result をソートする
return result;
}
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));
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: C#オンラインコンパイラ