加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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];

不要尝试使用条件运算符作为它不是的东西.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读