只有赋值调用递增递减等待和新对象表达式可以作为语句使用

Posted

技术标签:

【中文标题】只有赋值调用递增递减等待和新对象表达式可以作为语句使用【英文标题】:Only assignment call increment decrement await and new object expressions can be used as a statement 【发布时间】:2016-06-27 14:53:42 【问题描述】:

我的代码有问题:

string yn = Console.ReadLine ();
int yes;
yn == "Y" ? (yes = 1) : (yes = 0);

我明白了:

只有赋值调用递增递减等待和新对象 表达式可以用作语句

但我不知道该怎么办! 请帮忙!

【问题讨论】:

【参考方案1】:

更改yn == "Y" ? (yes = 1) : (yes = 0);

改为这个。

yes = yn == "Y" ? 1 : 0;

因为在使用?: 时需要将其分配到某个地方。当你写的时候你会得到同样的错误。

1;

【讨论】:

另一种方式但不推荐Convert.ToInt32(yn == "Y") :)【参考方案2】:

@m.kazem 是如何解释它的,但是我通常用括号表示正在测试一个条件。例如:

yes = (yn=="Y") ? 1 : 0;

所以如果yn 等于“Y”,则将整数设置为 1,否则将其设置为 0

【讨论】:

以上是关于只有赋值调用递增递减等待和新对象表达式可以作为语句使用的主要内容,如果未能解决你的问题,请参考以下文章

CS0201:只有赋值、调用、递增、递减、等待和新对象表达式可以用作语句

error CS0201: 只有赋值、调用、递增、递减、等待和新对象表达式可以用作语句c#

C#错误CS0201:只有赋值、调用、递增、递减和新对象表达式可以作为语句使用

在 C# 三元运算符中给出错误:只有赋值、调用、递增、递减和新对象表达式可以用作语句

在C#三元运算符给出错误:只有赋值,调用,递增,递减和新对象表达式可用作语句

在cshtml文件中的C#块代码之间插入html标签