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

C#でリストの末尾3つの要素を逆順に表示する方法


C#のリスト(List)から末尾の3つの要素を取り出すには Take() メソッド を使用し、さらに順序を反転させるには Reverse() メソッド を組み合わせます。

リストの宣言と要素の追加

まず、リストを宣言し、要素を追加します。

List<string> myList = new List<string>();
myList.Add("One");
myList.Add("Two");
myList.Add("Three");
myList.Add("Four");

末尾3つの要素を逆順で取得する

次に、Reverse() メソッドでリスト全体を逆順に並べ替えた後、Take(3) で先頭から3つの要素(=元のリストの末尾3要素)を取得します。

myList.Reverse<string>().Take(3);

Reverse<T>() は LINQ の拡張メソッドのため、元のリスト自体は変更されず、逆順の新しいシーケンスが返される点に注意してください。

サンプルコード

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

public class Demo {
    public static void Main() {
        List<string> myList = new List<string>();
        myList.Add("One");
        myList.Add("Two");
        myList.Add("Three");
        myList.Add("Four");

        // 末尾3つの要素を逆順で取得
        var res = myList.Reverse<string>().Take(3);

        // 結果を表示
        foreach (string str in res) {
            Console.WriteLine(str);
        }
    }
}

実行結果

Four
Three
Two

補足:より効率的な代替手段

.NET Core 2.0 以降や .NET 5 以降では、TakeLast(3) メソッドを使うことで、リスト全体を反転させずに直接末尾の要素だけを取得できます。大きなリストを扱う場合は、以下のように書くとパフォーマンス面で有利です。

var res = myList.TakeLast(3).Reverse();

このように書けば、「末尾3つの要素を逆順で取得する」という同じ結果を、より意図が明確なコードで実現できます。

  1. 【Python入門】リスト(配列)の要素を昇順に並べ替える方法|sortメソッドの使い方

    Pythonでリスト(配列)の要素を昇順に並べ替えたい場合は、sortメソッドを使います。sortメソッドはデフォルトで昇順にソートしてくれるため、引数を指定しなくても簡単に並べ替えが可能です。また、降順に並べ替えたい場合は、reverseパラメータにTrueを指定するだけで対応できます。以下に具体的な使用例を示します。サンプルコードmy_list = [44, 56, 42, 31, 11, 23, 78, 89, 9, 0] print(The list is :) print(my_list) my_list.sort() print(The list after sorting is

  2. Pythonで配列(リスト)の要素を逆順に出力するプログラム

    Pythonでリストの要素を逆順に出力したい場合、リストを末尾から先頭へ向かって反復処理することで実現できます。range() 関数に開始位置・終了位置・ステップを指定すれば、簡単に逆順のループを作成可能です。 サンプルコード my_list = [21, 32, 43, 54, 75] print(元のリスト : ) for i in range(0, len(my_list)): print(my_list[i]) print(逆順にした後のリスト : ) for i in range(len(my_list)-1, -1, -1): print(my_list[i]) 出