
匿名类型实例是没有行为或身份的不可变数据值。参照比较它们没有多大意义。在这种情况下,我认为为它们进行结构相等比较是完全合理的。
如果要将比较行为切换为自定义方式(引用比较或不区分大小写),则可以使用Resharper将匿名类型转换为命名类。Resharper还可以生成平等成员。
这样做还有一个非常实际的原因:匿名类型在LINQ连接和分组中可以方便地用作哈希键。出于这个原因,他们需要语义正确
Equals和
GetHashCode实现。
欢迎分享,转载请注明来源:内存溢出

匿名类型实例是没有行为或身份的不可变数据值。参照比较它们没有多大意义。在这种情况下,我认为为它们进行结构相等比较是完全合理的。
如果要将比较行为切换为自定义方式(引用比较或不区分大小写),则可以使用Resharper将匿名类型转换为命名类。Resharper还可以生成平等成员。
这样做还有一个非常实际的原因:匿名类型在LINQ连接和分组中可以方便地用作哈希键。出于这个原因,他们需要语义正确
Equals和
GetHashCode实现。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)