我不知道如何让 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 ( )
部分,它都不会编译。我用abool
只是为了快速说明问题,但我的实际用例并不是那么简单。