Pau*_*els 9 .net c# methods ternary-operator
使用三元运算符,可以执行以下操作(假设Func1()和Func2()返回int:
int x = (x == y) ? Func1() : Func2();
Run Code Online (Sandbox Code Playgroud)
但是,有没有办法做同样的事情,而不返回值?例如,类似(假设Func1()和Func2()返回void):
(x == y) ? Func1() : Func2();
Run Code Online (Sandbox Code Playgroud)
我意识到这可以使用if语句来完成,我只是想知道是否有办法像这样做.
小智 11
很奇怪,但你可以做到
class Program
{
private delegate void F();
static void Main(string[] args)
{
((1 == 1) ? new F(f1) : new F(f2))();
}
static void f1()
{
Console.WriteLine("1");
}
static void f2()
{
Console.WriteLine("2");
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10656 次 |
| 最近记录: |