最近 Unity DOTS 进入 LTS 了,想试一试,平时 C#用得少,全凭 IDE 硬写,初始化常量遇到了这样的问题,如 Rust 中:
let a = if <slow operation A> {
1
} else if <slow operation B> {
2
} else {
3
};
(注:Rust 不带mut默认是常量)
没有这个功能的话,a 就得声明成 mutable ,然后在条件分支里面改,或者用一长串?:?:。 用 C++的时候是用一个临时的 lambda ,在条件里 return 。
const int i = [&]() {
if (<slow operation A>)
return 1;
else if (<slow operation A>)
return 2;
else
return 3;
}();
看 V 站经常有人说 C#功能大杂烩,有没有好一点的办法?