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

C#で降順に並べ替える方法(orderby descendingの使い方)

C#では、LINQのorderby 〜 descendingを使うことで、コレクション内の要素を降順(大きい順・逆アルファベット順)に並べ替えることができます。通常のorderbyは昇順がデフォルトですが、キーワードとしてdescendingを付けるだけで簡単に降順へ切り替えられます。

サンプルデータの準備

まず、並べ替え対象となるリストを用意します。ここでは従業員情報を持つEmployeeクラスのリストを使用します。

IList<Employee> emp = new List<Employee>() {
new Employee() { EmployeeRank = 3, EmpName = "Tom", EmpMarks = 90 },
new Employee() { EmployeeRank = 4, EmpName = "Katie", EmpMarks = 95 }
};

orderby descendingで降順ソートする

次に、このリストを名前(EmpName)を基準に並べ替えます。デフォルトは昇順のため、降順にしたい場合はクエリ式にdescendingを指定します。

var res = from str in emp orderby str.EmpName descending select str;

完全なコード例

以下は、上記の処理を実行する完全なサンプルプログラムです。

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

public class Demo {
    public static void Main() {
        IList<Employee> emp = new List<Employee>() {
            new Employee() { EmployeeRank = 4, EmpName = "Amit", EmpMarks = 90 },
            new Employee() { EmployeeRank = 05, EmpName = "Raman", EmpMarks = 95 }
        };

        var res = from str in emp orderby str.EmpName descending select str;

        Console.WriteLine("学生リスト(降順):");
        foreach (var list in res)
            Console.WriteLine(list.EmpName);
    }
}

public class Employee {
    public int EmployeeRank { get; set; }
    public string EmpName { get; set; }
    public int EmpMarks { get; set; }
}

実行結果

プログラムを実行すると、名前が降順(Z→Aの順)で表示されます。

学生リスト(降順):
Raman
Amit

補足:メソッド構文での書き方

クエリ構文の代わりに、メソッド構文(拡張メソッド)を使って同じ処理を書くこともできます。

var res = emp.OrderByDescending(str => str.EmpName);

どちらの書き方でも結果は同じですが、メソッド構文の方が簡潔に書けるため、実務ではこちらもよく使われます。数値や日付など、文字列以外のプロパティに対しても同様にdescendingを指定することで降順ソートが可能です。

  1. JavaScriptで配列が昇順・降順・未ソートのどれかを判定する方法

    はじめにJavaScriptでは、数値の配列を受け取り、その要素が昇順(増加順)、降順(減少順)、あるいは特定の順序なし(未ソート)のどれに該当するかを判定する関数を作成できます。本記事では、そのような判定を行う関数の実装方法と、コードの動作原理について詳しく解説します。求められる仕様今回作成する関数は、以下の条件を満たす必要があります。数値の配列を引数として受け取る要素が増加傾向なら「ascending」を返す要素が減少傾向なら「descending」を返す順序に一貫性がない場合は「unsorted」を返す配列の要素が1つ以下の場合は「not enough items」(要素が不足しています

  2. Android SQLiteでレコードを降順(DESC)に表示する方法を解説

    AndroidのSQLiteとは? 実装例に入る前に、まずAndroidにおけるSQLiteデータベースについて簡単におさらいしておきましょう。SQLiteは、デバイス上のテキストファイルにデータを保存できるオープンソースのSQLデータベースです。AndroidにはSQLiteの実装が標準で組み込まれており、リレーショナルデータベースの主要な機能をすべて利用できます。さらに、JDBCやODBCのような接続確立処理を特に行う必要がないため、非常に手軽に扱える点も大きな魅力です。 本記事では、AndroidのSQLiteで登録済みのレコードを降順(DESC)で表示する方法を、サンプルコードとともに