Jaki jest algorytm używany przez test równości w strukturach .NET?

Jaki jest algorytm używany przez test równości w strukturach .NET? Chciałbym to wiedzieć, abym mógł użyć go jako podstawy mojego własnego algorytmu.

Próbuję napisać rekurencyjny test równości dla dowolnych obiektów (w C #) do testowania logicznej równości DTO. Jest to znacznie łatwiejsze, jeśli DTO są strukturami (ponieważ ValueType.Equals ma w większości słuszność), ale nie zawsze jest to właściwe. Chciałbym także zastąpić porównanie dowolnych obiektów IEnumerable (ale nie łańcuchów!), Aby ich zawartość była porównywana, a nie ich właściwości.

Okazało się to trudniejsze niż się spodziewałam. Wszelkie wskazówki będą bardzo mile widziane. Przyjmę odpowiedź, która okaże się najbardziej przydatna lub dostarczy link do najbardziej przydatnych informacji.

Dzięki.

questionAnswers(5)

yourAnswerToTheQuestion