もっと詳しく
リストとの対話は、事実上すべてのコーダーが毎日行うことです。 リストの並べ替えは、リストについて考える最も一般的なタスクの1つです。 プリミティブ型と文字列に関する場合、C#でのリストの並べ替えはかなり単純ですが、オブジェクトのリストを作成する場合は少し難しくなります。 この記事では、リストを並べ替えるための最も一般的なC#関数のいくつかについて説明します。 並べ替えは、並べ替えられていないアイテムのリストから要素を順序付けられた順序で配置するためのアプローチです。 C#プログラムのリストにアイテムを頻繁に追加し、後でそれらを並べ替える必要があります。 このために、Sort関数を使用します。 高度な並べ替えには、他の並べ替え方法も利用できます。

Ubuntu 20.04のC#でのリストの並べ替えとは何ですか?

List.Sort()メソッドは、指定されたまたはデフォルトのIComparer 実装または指定されたComparisonデリゲートを使用してリスト項目を比較し、List内の項目の要素またはサブセットをソートします。 Sort()メソッドは、オブジェクトのリストでインプレース並べ替えを提供するC#の組み込み関数です。 その結果、sort()関数を使用して、リストを昇順または降順で編成します。 もう1つ覚えておくべきことは、sort()関数がリストを永続的に再配置することです。

Ubuntu 20.04のC#でリストソートを使用する方法:

並べ替えリストは、いくつかの異なる方法で使用できます。 Sort、Reverse、ThenBy、およびOrde​​rByメソッドを使用して、リストをそれぞれ昇順および降順で並べ替えることができます。 リストがC#プログラミング言語でどのようにソートされるかをよりよく理解するために、次の例を検討してください。

例1:Ubuntu 20.04のC#で昇順にリストソートメソッドを使用する:

C#でint、double、char、string、その他の種類などの基本的な種類のリストを並べ替えるのは非常に簡単です。 ここで行う必要があるのは、リストインスタンスでGeneric ListクラスのSort()関数を使用することだけです。データは、昇順で動的に並べ替えられます。

上記のプログラムの実装を開始する前に、キーワード「using」を使用して、C#の必要なライブラリ「System」および「System.Collections.Generic」を含めました。 「System.Collections.Generic」を使用すると、ユーザーは、型の安全性と速度が向上した、強く型付けされたコレクションを作成できます。 次に、クラス「sort_example」を定義し、そのメイン関数を呼び出しました。 main関数には、「sortList」として整数のリストがあります。 Add()メソッドを使用して、整数リストにランダムな数値を追加しました。 WriteLineステートメントは、整数のリストを出力します。

リスト内の各整数値を反復処理する整数リストにforeachループを使用しました。 foreachループの「in」キーワードは、各反復でリストから項目を選択し、それをforeachループで作成されたint型の変数「value」に割り当てるために使用されます。 この後、指定された整数リストのsort()メソッドがあり、リストを昇順で並べ替えます。 sort()メソッドは、デフォルトで、リストを昇順で編成します。 foreachループは、ソートされたリストの各値に対する反復に再び使用されます。 writeLineメソッドは、ソートされたリストを昇順で表示します。

次の画像では、並べ替え前と並べ替え後の整数リストが出力に表示されます。

例2:Ubuntu 20.04のC#で降順を逆にする方法を使用する:

reverse()メソッドは、Listを降順で並べ替えるのに便利なアプローチです。 reverse()関数は、リスト内のすべての値を並べ替えるために使用されます。 以下のサンプルプログラムでは、最初に、sort()関数を使用してリストを昇順で整理しました。 その後、reverse()関数を使用してリストを降順で並べ替えます。

プログラムに必要なライブラリが含まれています。 その後、クラスは「SortDescendingOrder」という名前で作成されます。 このクラスには、整数のリストを「SortDesc」として宣言したメイン関数があります。 「SortDesc」には整数のリストが含まれており、Add()というメソッドを使用してリストにランダムな整数値を追加します。 foreachループは、リストの初期化後に使用されます。 foreachループは各リスト項目を繰り返し処理し、リスト値を変数「num」に割り当てます。

次に、sort()メソッドがあります。このメソッドは、デフォルトでリストを昇順で編成します。 現在、整数リストを降順でソートするReverse()メソッドを使用しています。 foreachループは、降順の各リストを繰り返し処理します。 ソートされたリストと降順のソートされたリストは、WriteLineステートメントによって出力されます。

次の図の出力は、sortメソッドとreverseメソッドの動作を明確に示しています。

例3:Ubuntu 20.04のC#でリストを並べ替えるためにOrderByメソッドを使用する:

これは、リストを昇順で並べ替える別の方法です。 メソッドOrderBy()を使用して、コードブロックで定義されたリスト名を呼び出し、アイテムを検証する引数を渡して、昇順で並べ替える必要があります。

上記のプログラムには、publicキーワードを持つクラスがあり、「Colors」として定義されています。 整数型の2つの変数「SNo」を宣言し、「Name」は文字列型プロパティに設定されています。 次に、クラス「Colors」のコンストラクターを作成し、クラスメンバーをパラメーターとして渡しました。 コンストラクターの本体では、クラスメンバーで「this」キーワードを使用しています。 キーワード「this」は、プログラムのクラスインスタンスメンバーに関連します。

その後、オーバーライドToStringメソッドが実装され、指定されたクラスメンバーの文字列表現が返されます。 別のクラス「デモ」を作成し、クラスのメイン関数を呼び出しました。 main関数では、クラス「Colors」用に3つのオブジェクト、C1、C2、およびC3を作成し、それらに値を割り当てました。 次に、クラス「Colors」のリストを定義し、それにクラスオブジェクトを割り当てました。 新しいリストは、orderByメソッドで「colList」を保持する「sortList」として作成されます。 ここでは、「SNo」をOrderByメソッドに渡しました。このメソッドは、リストを「SNo」でソートします。 WriteLineステートメントはOrderByリストを出力し、文字列結合メソッドに「Environment.NewLine」があるため、リストは新しい行に分割されます。

OrderByリストの出力は、次の画面に分割文字列として表示されます。

例4:Ubuntu 20.04のC#でリストを並べ替えるためのThenByおよびThenByDescendingメソッドの使用:

複数のフィールドでの並べ替えは、ThenByおよびThenByDescending拡張メソッドを使用して実行されます。 OrderByメソッドの後で、ThenByメソッドを呼び出して、コレクションを別のフィールドの昇順で並べ替えます。 同様に、ThenByDescending関数を使用して、降順で追加の並べ替えを実装します。

上記のプログラムには、「ThenBymethod」として定義されたクラスがあります。 クラスmain関数では、最後に実装されるクラス「Student」のリストを作成しました。 このリストは、クラス「Student」のフィールド「ID」と「Name」の値を設定します。 次に、変数「Result」を宣言しました。この変数は、OrderByメソッドでリストを並べ替えてから、指定されたフィールドのThenByメソッドで並べ替えます。

同様に、変数「ResultDesc」でリストを降順で並べ替えるには、ThenByDescendingメソッドを使用しました。 foreachループは、両方のメソッドのソートされたリストの各値を繰り返し処理します。 最後のクラス「Student」では、フィールド「ID」と「Name」のプロパティを取得して設定します。

次の結果は、ThenByメソッドとThenByDescendingメソッドから取得されます。

結論:

ここでC#リストソートの記事を締めくくりました。 この記事では、リストの並べ替え方法の使用について説明しました。 C#リスト文字列を簡潔に紹介し、リストの並べ替えメソッドを正確に定義します。 さまざまな方法でC#でリストを並べ替える方法を説明しました。 昇順の完全なsortOrderByメソッドやThenByメソッドなど、4つの異なる方法でソートされた例の実装があります。 ReverseメソッドとThenBydescendingメソッドは、降順で使用されます。

The post C#リストの並べ替え appeared first on Gamingsym Japan.