.net column
.NET開発者のためのブログメディア

C#でのSequenceEqualの使い方とは?配列の比較とオブジェクトの比較

 
C#でのSequenceEqualの使い方とは?配列の比較とオブジェクトの比較
SE
C#でSequenceEqualを使うと何ができるのですか。
PM
配列やオブジェクト同士が一致しているか否かを判定できます。

C#でのSequenceEqualの使い方とは?


今回は、C#でのSequenceEqualの使い方について説明します。SequenceEqualを使うと、配列やオブジェクト同士が一致しているか否かを判定できます。オブジェクトの場合は、参照先のアドレス一致を判定するため、値の一致を確認するには工夫が必要です。

C#でのSequenceEqualの使い方に興味のある方はぜひご覧ください。

配列の比較

C#で配列を比較する方法を紹介します。実際のソースコードを見てみましょう。

実行結果は以下のようになります。

このようにC#では、SequenceEqualで配列を比較できます。Listも同じように比較できます。

配列の比較(順不同)

C#で配列の順序を無視して比較する方法を紹介します。実際のソースコードを見てみましょう。

実行結果は以下のようになります。ソートすることで、順番を揃えたうえで比較できます。

オブジェクトの比較

C#でオブジェクトを比較する方法を紹介します。実際のソースコードを見てみましょう。

実行結果は以下のようになります。配列とは異なり、参照先のオブジェクトが一致でなければTrueになりません。

オブジェクトの値比較

C#でオブジェクトの値まで比較する方法を紹介します。実際のソースコードを見てみましょう。

実行結果は以下のようになります。オブジェクトの値が一致すればTrueになります。

C#では、IEqualityComparerを継承したHumanComparerクラスを作成し、SequenceEqualの第二引数に指定することで、値の一致を判定できます。

SE
C#でSequenceEqualを使うと、配列やオブジェクト同士が一致しているか否かを判定できるのですね。
PM
その通りです。オブジェクトの場合は参照先のアドレスが一致しているか否かを判定するため、値の一致を確認するには工夫が必要です。

まとめ

いかがでしたでしょうか。C#でのSequenceEqualの使い方について説明しました。SequenceEqualを使うと、配列やオブジェクト同士が一致しているか否かを判定できます。オブジェクトの場合は、参照先のアドレス一致を判定するため、値の一致を確認するには工夫が必要です。

ぜひご自身でC#のソースコードを書いて、理解を深めてください。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

reccomended

Categories

Tags