【发布时间】:2015-07-18 04:14:53
【问题描述】:
我正在尝试创建一个方法来确定我的id parameter 是否为空。如果 parameter 为空,那么它应该返回 true。如果id parameter 有值,那么它应该返回false。
这看起来相当简单,但我似乎无法让它发挥作用。
Resharper有2个备注:
- 表达式总是错误的
- 冗余条件三元表达式用法。
我的方法:
public bool IsPersonIdNull(int id)
{
return id == null ? true : false;
}
【问题讨论】:
-
int是一个结构。结构不能为空。 -
int 或 bool 不能为空(字符串等对象不是这种情况)。如果您希望 id 可以为空,请声明“int ? id”。
-
第二条注释是因为表达式本身返回一个布尔值所以你不需要三元来选择真或假,不管
int或int?混淆。 -
请在提问前尝试搜索错误消息作为调查的一部分。除了 C#/VS,微软还为此提供了搜索引擎:bing.com/search?q=Expression+is+always+false 和 bing.com/…。