こんにちは、次のような状況の場合、 sequenceEqualに問題があります。
Sentence s1 = new Sentence { Text = "Hi", Order = 1 };
Sentence s2 = new Sentence { Text = "Hello", Order = 2 };
List<Sentence> list1 = new List<Sentence> { s1, s2 };
List<Sentence> list2 = new List<Sentence> { s1, s2 };
そしてこれはうまくいきます
bool equal = list1.SequenceEqual(list2);
そして戻りますtrue
。
しかし、たとえば次のようなメソッドがあるList<Sentence>
場合:
public List<Sentence> Getall()
{
Sentence s1 = new Sentence { Text = "Hi", Order = 1 };
Sentence s2 = new Sentence { Text = "Hello", Order = 2 };
return new List<Sentence> { s1, s2 };
}
次のように使用します。
List<Sentence> list1 = Getall();
List<Sentence> list2 = Getall();
そして、簡単に確認してください
bool equal = list1.SequenceEqual(list2);
'false' を返します。理由を教えてください。そしてそれを機能させる方法は?