我目前正在用大约5个嵌套if语句挣扎,并且它变得相当困惑以查看所有这些语句。三元运算符在foreach
于是,我想到了将三元运营商,而不是IFS为简单的检查,看
foreach (String control in controls)
{
if (!control.Equals(String.Empty))
{
// Do some stuff
foreach (Int32 someStuff in moreStuff)
{
if (!someStuff.Equals(0))
{
// More stuff with more if equals
}
}
}
这就是它的外观像现在。这就是我如何使它看起来想法一点点更漂亮:
foreach (String control in controls)
{
(control.Equals(String.Empty)) ? continue : null;
// Do some stuff
foreach (Int32 someStuff in moreStuff)
{
(someStuff.Equals(0)) ? continue : null;
// More stuff
}
}
所以,问题是:1,是不好的编程来解决它像这样和2将它的工作就是我想要的?
那会编译吗?据我所知,“:”的左右两边都必须是一个值。 (三元运算符返回一个值)。 – 2010-09-01 09:02:19
它看起来不像三元运算符可以帮助你在可读性和功能性方面。如果您需要5 lvls deep'foreach',那么我认为您可能需要重新考虑您的功能 – Stefanvds 2010-09-01 09:13:31
为什么不写“如果!...继续”?它实际上比你的例子更短,很明显,最好 - 它的工作原理。 – greenoldman 2010-09-01 10:19:43