我碰到了这种情况,并且似乎没有要回一个自然的方式可空的int。下面的代码给出了编译错误,因为三元运算符不喜欢null。
public int? userId
{
get
{
int rv;
return int.TryParse(userIdString, out rv) ? rv : null;
}
}
所以,你(或只是我)真的得走一路拼了这一切:
public int? userId
{
get
{
int id;
if(int.TryParse(userIdString, out id)){
return id;
}
return null;
}
}
编辑:是否有实例可为空的更自然的方式,使三元操作员工作?
我这样做,当我觉得答案引脚指出我的问题。虽然我经常问不好但含糊不清的答案。 – Haoest 2010-09-15 19:37:34