もっと詳しく
この記事では、Cシャーププログラミング言語のIComparableインターフェイスについて説明します。 このインターフェイスのいくつかのメソッドを使用して、クラス内のオブジェクトを比較したり、並べ替えたりすることができます。 コンパイラはそれを許可しないため、比較およびソート方法は通常、クラスオブジェクトに直接適用できません。 代わりに、IComparableインターフェイスを使用して、クラスオブジェクトを比較およびソートします。 このインターフェイスは主に、並べ替えて比較するオブジェクトの一般的なリストを作成したときに使用されます。 オブジェクト間の比較は、C#プログラミング言語のCompareTo()関数と呼ばれるメソッドを介して行われます。

IComparableインターフェイスのCompareTo()関数:

CompareTo()関数は、C#プログラムのクラスのオブジェクトを比較します。 CompareTo()関数は、整数や文字列などの戻りデータ型で呼び出されます。 ただし、オブジェクト比較の場合は、整数データ型を使用します。これにより、オブジェクトが比較されるときにゼロ状態と非ゼロ状態が返されます。 この関数をC#プログラミング言語で利用するための構文は次のとおりです。

#「publicint CompareTo(Object)」

このアプローチをよりよく理解するために、このインターフェイスとそのCompareTo()関数をUbuntu20.04環境に実装します。

例01:Ubuntu20.04での配列クラスのオブジェクトの比較とそれらの並べ替え

この例では、クラスのオブジェクトを比較し、IDの昇順で並べ替えます。 この例では、CompareTo()関数をSort()関数と一緒に使用します。 比較の前後で、ソートされたオブジェクトとソートされていないオブジェクトのリストを区別して、IComparableインターフェイスのメカニズムを見落とします。 次のコードはUbuntu20.04環境に実装され、コマンドラインターミナルで実行されます。

自動的に生成されたテキストの説明

前のコードでは、「配列」クラスを形成しました。 次に、クラスからいくつかのオブジェクトを作成し、それらに値を割り当てました。 この後、IComparableインターフェイスを使用して、CompareTo()関数を使用して、前に作成したオブジェクトを比較し、並べ替えました。 その後、Sort()関数をオブジェクトの名前で呼び出し、オブジェクトの配列の並べ替えられたリストと並べ替えられていないリストの両方を出力して使用します。

前のコードをコンパイルして実行すると、次の出力が得られます。

自動的に生成されたテキストの説明

出力には、ソートされたリストとソートされていないリストの違い、およびCompareTo()関数とSort()関数が同時に機能してIComparableインターフェイスで簡略化された回答を提供する方法が反映されます。

例02:Ubuntu20.04での従業員クラスのオブジェクトの比較とそれらの並べ替え

この例では、同じクラスのインスタンスを比較し、EmployeeIDの昇順で並べ替えます。 この例では、CompareTo()メソッドがSort()関数で使用されます。 IComparableインターフェイスのロジックを見落とさないように、比較の前後の従業員の並べ替えられたリストと並べ替えられていないリストを、それぞれ印刷して区別します。 次のコードはUbuntu20.04環境で記述されており、コマンドラインターミナルで実行されます。

自動的に生成されたテキストの説明

自動的に生成されたテキストの説明

指定されたコードに「Employee」クラスを作成しました。 次に、いくつかのクラスオブジェクトを生成し、それらに値を割り当てました。 その後、IComparableインターフェイスを使用して、CompareTo()関数を使用して以前に作成したオブジェクトを比較およびソートしました。 次に、Employeeクラスのオブジェクトの名前でSort()関数を使用し、Employeeクラスのオブジェクトの並べ替えられたリストと並べ替えられていないリストの両方を表示しました。 foreachループを使用して、オブジェクトのリストを1つずつ移動し、次のリストを印刷しました。

自動的に生成されたテキストの説明

これは、コマンドライン端末でコンパイルおよび実行されたときの前のコードの出力になります。 出力からわかるように、CompareTo()関数が正常に評価され、Sort()関数がこのリストをソートするのに役立ったため、IDに基づいてソートされていないリストとソートされた従業員のリストが出力画面に表示されます。

例03:クラスとそのオブジェクトのIComparableインターフェイスを使用してUbuntu20.04でそれらを変更する

IComparableインターフェイスのCompareTo()関数を使用して、この例で決定を下したり、決定を変更したりする際に使用されるクラスのメソッドを考案しました。 この例では、比較および並べ替え関数を使用するために、このインターフェイスでクラスを初期化します。 この関数を理解するために、この例ではCompareTo()関数のさまざまな状態について説明します。

この特定のコードでは、IComparableインターフェイスで「Temperature」というクラスを初期化しました。 このプログラムのメインメソッドでは、変数を作成し、それにランダムな値を割り当てました。 ユニバーサル変換に従って値を変更し、一意の結果を提供するために存在する2つのエンティティ。 CompareTo()関数を使用していくつかのチェックを実行し、値をこれらのチェックと比較して、昇順で並べ替えます。これは、foreachループを使用して出力画面に出力されます。

前のコードを実行すると、次の出力が得られます。

ランダムに生成されたすべての整数は、出力ですべて昇順でソートされるため、IComparableインターフェイスおよびCompareTo()メソッドで提供されるすべての基準に合格しています。

例04:CompareTo()メソッドを使用してUbuntu20.04でクラスオブジェクトを並べ替える

この例では、同じクラスのインスタンスを比較し、モデルイヤーで昇順で並べ替えます。 この例では、Sort()関数をCompareTo()メソッドで使用します。 IComparableインターフェイスのロジックが失われるのを防ぐために、比較の前後に、並べ替えられた従業員と並べ替えられていない従業員の両方のリストを表示します。 次のコードはUbuntu20.04環境で作成され、コマンドラインターミナルでGCCコンパイラを使用して実行されます。

自動的に生成されたテキストの説明

自動的に生成されたテキストの説明

前のコードでは、「Car」というクラスを作成しました。 次に、車の名前やモデルイヤーなどの値を持ついくつかのクラスオブジェクトを作成しました。 次に、CompareTo()関数を使用して、IComparableインターフェイスで以前に作成したオブジェクトを比較およびソートしました。 その後、Carクラスのオブジェクトの名前でSort()メソッドを使用し、クラスのオブジェクトの並べ替えられたリストと並べ替えられていないリストの両方を出力画面に表示して、違いを示しました。 foreachループを使用して、アイテムのリストを1つずつ調べ、これらのリストを表示します。

次に、前のコードをコンパイルして実行し、次の出力を取得します。

自動的に生成されたテキストの説明

前の出力では、2種類のリストが表示されています。 最初のリストには、ソートされていない表現があります。 2番目のリストでは、オブジェクトは車のモデルイヤーに関してソートされています。

結論

この記事では、Cシャーププログラミング言語の比類のないインターフェイスについて説明しました。 また、このインターフェイスに存在する2つの関数の比較と呼ばれる比較関数についても説明しました。 この関数は、類似したクラスの複数のオブジェクトを比較し、変更およびソートされるオブジェクトに対していくつかのチェックを実行できます。 この後、Ubuntu20.04環境でこの現象のいくつかの例を実装しました。

The post C#IComparable appeared first on Gamingsym Japan.