在VB.NET中,我有一个像这样的if else块
If a is null
Callb()
Else
Callc()
这两种方法都不会使任何东西无效 我想在这里删除if else块
是否有简单的方法可以用一个单一的班轮代码写入
答案 0 :(得分:4)
只需使用执行此操作的特定操作:
public void CallFunction(object a)
{
if (a == null)
Callb()
else
Callc()
}
然后你可以在验证程序中调用它:
CallFunction(s);
另外,看看here,这正是您在这里提出的问题以及提供了一些答案的地方。但对我来说,他们似乎都有点矫枉过正,而且很麻烦。 if/else
没有任何问题,请保持简单。
答案 1 :(得分:0)
L-Three的答案很好,最初发布的代码也很好。如果你真的想让它变得可爱并使它成为单行,你可以这样做:
首先,让CallA
和CallB
返回一些内容。字面意思(你不必实际使用它返回的东西)。
然后,您可以进行如下调用:
Dim foo As Object = If(someCondition, CallA(), CallB())
同样,您不必对此变量实际执行任何操作。
我同意其他帖子关于当你保留If/Else
块时意图更清晰。我发布的代码较短,但是在你写完这样的东西后,你的同事会讨厌你。我不建议养成它的习惯。