假设我有一些代码,如下所示:
var someCollection = new int[] {};
var result = someCollection.SingleOrDefault();
然后我想确定是否result
是默认值。但是,我想以可维护的方式这样做,以便如果元素类型发生someCollection
更改,则其余代码不需要更改。
这通常似乎完成的方式(在一般意义上)是result == null
. 当然,在这种情况下,类型不是引用类型,所以这不起作用。
避免这种假设的改进是result == default(int)
。但是,更改元素类型也需要将参数更改为default
,因此仍然无法满足仅在一处更改类型的要求。
验收标准
- 内置逻辑优于自定义逻辑。
- 优雅简洁的代码是首选。
- 高效的代码是首选。(对于引用类型,应该只进行引用比较。)