相关疑难解决方法(0)

为什么值类型不能为null

我知道可以使用Nullable值类型来包装值类型并提供存储null的能力.但有一个技术原因是不允许值类型为null或原因只是概念性的?

.net c# clr null value-type

18
推荐指数
1
解决办法
6290
查看次数

Int32.Equals vs'=='运算符

我环顾四周,但之前似乎没有人问过这个问题,所以在这里.

我正在开发一个具有IEquatable接口的自定义类,因此我正在创建自己的Equals方法.这是它的样子:

public bool Equals(QueryFilter qfilter)
    {
        if (qfilter == null)
        {
            return false;
        }
        return ((this.Value.Equals(qfilter.Value)) && 
            (this.Name.Equals(qfilter.Name)) &&
            (this.Order == qfilter.Order));
    }
Run Code Online (Sandbox Code Playgroud)

其中Value,Name和Order是QueryFilter类的字段.值和名称是strings,但Order是一个int,我想知道使用==运算符是否正常,或者我是否应该使用该Int32.Equals方法,以"匹配"其他字段如何进行比较?我检查了MSDN,但它没有详细说明,只是说它超载了,但我不确定在这种情况下这意味着什么.那==将是唯一一个在工作的人吗?

总而言之,哪一个更好?Int32.Equals还是==?我什么时候应该使用每一个?

c# operators

3
推荐指数
1
解决办法
1995
查看次数

标签 统计

c# ×2

.net ×1

clr ×1

null ×1

operators ×1

value-type ×1