显然标题是tongue in cheek,但我已经检查并进行了双重检查,并且在逻辑中看不到错误。使用未初始化的变量 - 编译器中断
编译器抱怨变量parsed
可能未在return语句中初始化。我不同意。我们哪一个是错的,为什么?
public DateTime? Test(string nextDate)
{
DateTime parsed;
if (nextDate != "TBC" && !DateTime.TryParse(nextDate, out parsed))
{
throw new Exception();
}
if (nextDate == "TBC")
return null;
return parsed;
}
幽默是主观的。如果你坚持手头的问题,你可能会得到更好的回应。 – adelphus 2012-03-01 10:14:09
@adelphus感谢您的建议,但我认为标题很好地描述了这个问题。这不应该是一个笑话。如果以某种方式冒犯了你,欢迎编辑它。无论如何,我已经得到了我的答案。 – fearofawhackplanet 2012-03-01 10:28:01
那么,这不应该是一个笑话?那么你实际上认为你的代码有问题意味着编译器坏了?就我个人而言,我并不在乎,但是对于许多人来说,假设编译器(或操作系统或API或......)存在自己的代码问题是一个贫穷的开发人员的标志。 – adelphus 2012-03-01 11:17:11