C# - 运算符: ?- 是否可以向函数传递某些内容或任何内容
本文关键字:任何内 函数 运算符 是否 可以向 | 更新日期: 2023-09-27 17:57:09
我知道还有其他方法可以做我需要做的事情。我只想知道是否可以做到。
这是关于替换 if 的问号。
public void doSomething() { ...... }
public void doSomething(int i) { ...... }
public void f(int i)
{
doSomething( i > 0 ? [NOTHING] : i );
}
我可以写一些东西([NOTHING])来不向函数传递任何参数并能够调用doSomething()吗?
不。您应该使用标准if..else
或者如果返回某些内容,则可以doSomething
以这种方式重写它。
i > 0 ? doSomething() : doSomething(i);
三元的结果必须是兼容的。方法调用由编译器烘焙,以了解要跳转到的指令。三元运算符无法重写它。