C#で配列の要素順を逆にする方法:Array.Reverse()メソッドの基本と実例
C#のArrayクラスが提供するReverse()メソッドは、1次元配列全体の要素の並び順を逆転させるためのメソッドです。昇順や降順へのソートとは異なり、単純に要素の前後を入れ替える処理を行います。
Array.Reverse()メソッドの基本的な使い方
配列を逆順にするには、Array.Reverse()メソッドに対象の配列を渡すだけです。
Array.Reverse(temp);
このメソッドは引数として指定された配列そのものを書き換える(破壊的な操作)点に注意してください。元の配列を保持したい場合は、あらかじめコピーを作成しておく必要があります。
サンプルコード
以下のコードでは、整数型の配列を定義し、Reverse()メソッドを使って要素を逆順に出力しています。
using System;
namespace Demo {
class MyArray {
static void Main(string[] args) {
int[] list = { 29, 15, 30, 98};
int[] temp = list;
Console.Write("Original Array: ");
foreach (int i in list) {
Console.Write(i + " ");
}
Console.WriteLine();
// 配列を逆順にする
Array.Reverse(temp);
Console.Write("Reversed Array: ");
foreach (int i in temp) {
Console.Write(i + " ");
}
Console.ReadKey();
}
}
}実行結果
Original Array: 29 15 30 98 Reversed Array: 98 30 15 29
補足:Reverse()メソッドを使う際のポイント
- 参照型の挙動に注意: 上記の例では
temp = list;としていますが、これは新しい配列を作成しているわけではなく、同じ配列への参照を代入しています。そのため、tempを反転するとlistの内容も同時に変わります。 - 部分だけを反転することも可能:
Array.Reverse(array, index, length)の形式を使えば、配列内の指定した範囲だけを逆順にできます。 - LINQとの違い: LINQの
Reverse()演算子は元の配列を変更せず、逆順の新しいシーケンスを返します。元のデータを保持したい場合はLINQの利用も検討しましょう。
-
JavaのStringクラスsubstring()メソッドの使い方を徹底解説
substring()メソッドは、元の文字列の開始インデックス(beginIndex)から終了インデックス(endIndex)までの部分に対応するString型の値を返します。終了インデックスが指定されていない場合は、文字列の末尾までが切り出しの対象となります。Javaの文字列は0番目の位置からインデックスが始まるという点に注意しましょう。 構文 public String substring(int beginIndex) public String substring(int beginIndex, int endIndex) beginIndex: 部分文字列の切り出しを開始する位置を示
-
Rubyのuniqメソッドで配列の重複を削除する方法【ブロック・複数条件の使い方も解説】
Rubyのuniqメソッドとは? Rubyのuniqメソッドを使うと、配列に含まれる重複した要素をすべて取り除くことができます。この記事では、基本的な使い方から、ブロックを活用した応用テクニック、さらに内部の動作原理まで、具体例を交えながらわかりやすく解説します。 基本の使い方 まずは、次のような配列を例に見てみましょう。 n = [1, 1, 1, 2, 3, 4, 5] この配列では、数値の1が重複しています。 uniqメソッドを呼び出すと、余分な1が取り除かれ、ユニークな要素だけを持つ新しい配列が返されます。 実行例: n.uniq # [1, 2, 3, 4, 5] uniq