c# – 如果没有分配那么其他的速记将不起作用
发布时间:2020-12-15 20:00:17 所属栏目:百科 来源:网络整理
导读:在C#中,我试图缩短一些返回代码.我想做的就像是 condition ? return here:return there; 要么 condition ?? return here; 我遇到了一些问题,编译器说表达式无效.这是一个例子: int i = 1; int a = 2; i a ? i++ : a++; 这是无效的.然而, int i = 1; int a =
在C#中,我试图缩短一些返回代码.我想做的就像是
condition ? return here:return there; 要么 condition ?? return here; 我遇到了一些问题,编译器说表达式无效.这是一个例子: int i = 1; int a = 2; i < a ? i++ : a++; 这是无效的.然而, int i = 1; int a = 2; int s = i < a ? i++ : a++; 已验证.是否必须使用此速记符号进行分配?我现在能想到的唯一方法就是: int acceptReturn = boolCondition ? return toThisPlace() : 0 ; 我真的希望这行代码看起来更像: boolCondition ? return toThisPlace():; 这是无效的,但我正在追求. 解决方法
? :不是if / else的“简写” – 它是具有特定语义规则的特定运算符(条件).这些规则意味着它只能用作表达式,而不能用作语句.
返回:如果你只想“返回if true”,那么就这样编码: if(condition) return [result]; 不要尝试使用条件运算符作为它不是的东西. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |