通常,在编程中我们会遇到null检查显示特别大的情况.我说的是:
if (doc != null)
{
if (doc.Element != null)
{
... and so on
}
else
throw new Exception("Element cannot be null");
} else {
throw new Exception("document cannot be null");
}
Run Code Online (Sandbox Code Playgroud)
基本上,整个事情变成了一个难以理解的噩梦,所以我想知道:有没有更简单的方法来描述我上面要做的事情?(除了空检查,我string.IsNullOrEmpty不时会得到类似的东西.)
接受的答案:我接受了具有此链接的答案,因为所描述的方法具有创新性,正是我想要的.谢谢肖恩!
我希望在WPF TextBox中显示一个选项,即使它不在焦点上.我怎样才能做到这一点?
我希望得到Enum.GetName一个F#区别联盟成员的等价物.调用ToString()给了我TypeName + MemberName,这不是我想要的.当然,我可以将它归入其中,但是它安全吗?或许还有更好的方法?
我正在为ORM准备一些表名,我想将多个表名转换为单个实体名.我唯一的问题是找到一个可靠的算法.这就是我现在正在做的事情:
有谁知道更好的算法?
我正在使用多台机器来分析和运行一个解决方案,通过DropBox完成数据同步(辉煌,顺便说一句!).不幸的是,一台机器的更改会导致所有其他机器的VS实例问我是否要重新加载哪个......很烦人,因为答案总是肯定的.
所以我的问题是:我可以让VS认为答案总是是的吗?
我正在使用FontMetrics.getHeight()获取字符串的高度,但它给了我一个错误的值,切断了字符串字符的下降.我可以使用更好的功能吗?
Scala是一种特殊的编程语言,因为它同时针对JVM和CLR.但有什么好处?是否值得将其视为F#语言的可行替代方案?
我有两个F#模块,比如A.fs中的A和B.f中的B模块.但是,当我使用模块B中的模块A时,F#看不到它.我试过的所有组合open的指令,即open A,open MyNamespace.A,等等-没有什么帮助.我究竟做错了什么?
使用Subversion,我使用Visual SVN服务器在几分钟内完成并提供服务.是否有Mercurial的等价物,所以我可以运行hg.mydomain.com?