Dlaczego SequenceEqual dla List <T> zwraca false?

Cześć Mam z tym problemysekwencja równa się kiedy mam taką sytuację:

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 };

i to działa dobrze

bool equal = list1.SequenceEqual(list2);

i wracatrue;

ale kiedy mam jakąś metodę, która wracaList<Sentence> na przykład:

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 };
    }

i używaj go w ten sposób:

List<Sentence> list1 = Getall();
List<Sentence> list2 = Getall();

a następnie po prostu sprawdź to

bool equal = list1.SequenceEqual(list2);

zwraca „false”, powiedz mi dlaczego? i jak to zrobić?

questionAnswers(3)

yourAnswerToTheQuestion