7

作成中のプログラムの 2 つのリストの値を比較したいと考えています。リスト 1 の最初の値をリスト 2 の最初の値と比較し、次にリスト 1 の 2 番目の値をリスト 2 の 2 番目の値と比較する、というようにします。

C#でこれを行うにはどうすればよいですか?

4

1 に答える 1

12

これには、 と呼ばれる特別な方法がありますSequenceEqual

IList<int> myList1 = new List<int>(...);
IList<int> myList2 = new List<int>(...);
if (myList1.SequenceEqual(list2)) {
    ...
}

Zipメソッドを使用して、シーケンスのカスタム比較を行うことができます。たとえば、いずれかのペアが差 3 以内にないかどうかを確認するには、次のようにします。

IList<int> myList1 = new List<int>(...);
IList<int> myList2 = new List<int>(...);
if (myList1.Zip(list2, (a, b) => Math.Abs(a - b)).Any(diff => diff > 3)) {
    ...
}
于 2013-06-15T02:27:43.340 に答える