Eine ganz dumme Frage:
Angenommen man hat eine Collection (List, Dictionary, …) von Records, z.B.
TMyRecord
. Wenn man bei diesen Collections keinen
IEqualityComparer<TMyRecord>
angibt dann wird ein Default-Comparer genommen der stumpf die Bytes im Speicher vergleicht.
Bei Records mit Padding kann so eine Gleichheitsprüfung natürlich funktionieren, muss aber nicht.
Das Problem: Hier wird im Code gerne vergessen bei solchen Collections auch den Comparer anzugeben.
Unit-Tests decken das meist auch nicht auf da hier Records frisch angelegt werden, die Padding-Bytes alle Null sind und alles klappt.
In den
Unit-Tests kann man natürlich explizit hingehen, die Padding-Bytes manuell mit Mustern beschreiben und schauen ob dann noch alles klappt - Aber da muss man auch erst einmal dran denken!
Gibt es einen Trick? Oder hilft hier nur Haue?