【发布时间】:2020-03-18 00:55:06
【问题描述】:
我不知道如何让 switch 表达式产生 ref 值。
bool cond = true;
int a = 1, b = 2;
// This works
ref int c = ref cond ? ref a : ref b;
// But using a switch expression fails to compile.
// Error CS1525 Invalid expression term 'ref'
c = ref (cond switch { true => ref a, false => ref b });
我的语法错了吗?这甚至可能吗?
无论我是否包含外部 ref ( ) 部分,它都不会编译。我使用bool 只是为了快速说明问题,但我的实际用例并不是那么简单。
【问题讨论】:
标签: c# ref c#-8.0 switch-expression