我可以在不装箱的情况下执行可为 null 的结构相等性测试吗?

Can I perform a nullable struct equality test without boxing?

我有一个struct Foo : IEquatable<Foo>。我正在尝试写:

bool isEqual = a.Equals(b);

其中 ab 都是 Foo? 类型。此代码有效,但 b 被装箱了!有没有办法避免拳击?

您可以调用静态Nullable.Equals方法:

bool isEqual = Nullable.Equals(a, b);