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

【C#】シーケンス内の要素の順序を反転させるプログラム

この記事では、C#を使ってシーケンス(配列)内の要素の順序を逆にする方法を解説します。LINQのReverse()メソッドを利用すれば、わずか数行のコードで要素を簡単に反転できます。

1. 文字列(char配列)の準備

まず、反転対象となる文字列をchar型の配列として定義し、その内容を表示してみましょう。

char[] ch = { 'd', 'r', 'i', 'v', 'e' };
Console.Write("String = ");
foreach(char arr in ch)
    Console.Write(arr);

2. Queryable.Reverse()メソッドで要素を逆順にする

次に、AsQueryable()で配列をIQueryable型に変換し、Reverse()メソッドを呼び出します。これにより、元の順序とは逆の新しいシーケンスを取得できます。

IQueryable<char> res = ch.AsQueryable().Reverse();

3. 完全なコード例

ここまでの手順をまとめた完全なプログラムは以下の通りです。

using System;
using System.Linq;
using System.Collections.Generic;

public class Demo {
   public static void Main() {
      char[] ch = { 'd', 'r', 'i', 'v', 'e' };
      Console.Write("String = ");
      foreach(char arr in ch)
         Console.Write(arr);

      IQueryable<char> res = ch.AsQueryable().Reverse();

      Console.Write("\nReversed = ");
      foreach (char c in res)
         Console.Write(c);
   }
}

4. 実行結果

String = drive
Reversed = evird

コードのポイント

  • AsQueryable(): 配列などのIEnumerableをIQueryableに変換するための拡張メソッドです。
  • Reverse(): シーケンス内の要素の順序を逆にした新しいシーケンスを返します。
  • 元の配列ch自体は変更されず、反転結果がresとして返される点に注意してください。

上記の出力を見ると、元の文字列「drive」がReverse()メソッドによって「evird」と反転されていることが確認できます。このように、LINQを活用すればシーケンス操作を簡潔かつ直感的に記述することが可能です。

  1. 【C言語】10個の要素を持つ配列を昇順にソートするプログラムの作り方

    配列とは 配列とは、関連性のある複数のデータ項目を、たった一つの名前でまとめて管理できるデータ構造です。 例: int student[30]; この場合、studentが配列名となり、1つの変数名だけで30個分のデータ項目を格納することができます。 配列に対する主な操作 配列に対して行える基本的な操作は、以下の通りです。 探索(検索) − 配列内に特定の要素が存在するかどうかを調べる操作です。 ソート(整列) − 配列内の要素を昇順または降順に並べ替える操作です。 走査(トラバース) − 配列内のすべての要素を先頭から順番に処理する操作です。 挿入 − 配列に新しい要素を追加する操作です。

  2. C++プログラム:配列内の各要素の最後の出現を相対的な順序で出力する方法

    配列 a[] が与えられたとき、リスト内の各要素について最後に出現したものだけを出力するのが本記事の目的です。ここでは単純に重複要素を削除するだけでなく、各要素が配列内で最後に出現したタイミングに基づき、元の相対的な順序を維持したまま出力する必要があります。例えば、6つの要素を持つ配列 {1, 3, 2, 3, 1, 2} には重複した値が含まれています。この場合、期待される結果は「3 1 2」になります。入力例と出力例Input: a[]={4,2,2,4,1,5,1} Output : 2 4 5 1この例では、「2」はインデックス2で最後に出現し、「4」はインデックス3、「5」はインデッ