Верный тест значения по умолчанию типа значения? - PullRequest
0 голосов
/ 26 февраля 2020

В C# как правильно проверить, действительно ли значение типа значения действительно по умолчанию? Другими словами: все ли элементы равны нулю, как определено языком?

Использование x == default требует, чтобы структура определяла средство сравнения на равенство, которое может быть реализовано как угодно. Использование EqualityComparer<T>.Default.Equals(x, default) также позволяет структуре переопределять проверку по умолчанию, реализуя IEquatable<T>.

Есть ли лучший способ, чем использовать блок unsafe и выполнять проверку равенства байтов за байтом?

...