为了账号安全,请及时绑定邮箱和手机立即绑定

提示在switch中的case语句无法被访问?请问该怎么解决?

提示在switch中的case语句无法被访问?请问该怎么解决?

C#
泛舟湖上清波郎朗 2022-05-31 14:10:30
public Form1() {InitializeComponent();}private void button1_Click(object sender, EventArgs e) {double s=Convert.ToDouble(textBox1.Text);double js=0;double d = Convert.ToDouble(textBox2.Text);string z=Convert.ToString(comboBox1.SelectedItem);switch ('z') {case '*': js = s*d; break;case '/': js = s/d; break;case '+': js=s+d; break;case '-': js=s-d; break;}textBox3.Text = Convert.ToString(js);}private void button2_Click(object sender, EventArgs e) {textBox3.Text = textBox1.Text =textBox2.Text="";}}}
查看完整描述

3 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

switch('z')不对,括号内要求是变量,因为你定义的Z是个从下拉框中选择的操作符是变量,你这是常量了。把单引号去掉就可以了。最好是在Switch{}最后加上Default: ""语句,祝你学习愉快

查看完整回答
反对 回复 2022-06-06
?
富国沪深

TA贡献1790条经验 获得超9个赞

1、你的z已经是变量了,所以在switch中是不需要加引号的,而且switch 本身遍历的就是一个变量,不能放常量。
2、你的z是一个string型的,case后面跟的单引号是字符型的,应该对应的用双引号吧,
switch (parContainer.Controls[index].GetType().Name)
{
case "TextBox":
parContainer.Controls[index].Text = "";
break;
}

查看完整回答
反对 回复 2022-06-06
?
慕仙森

TA贡献1827条经验 获得超8个赞

你的数据类型转换有问题,要么全是string 类型,或者是双精度浮点型,或者是整型。

查看完整回答
反对 回复 2022-06-06
  • 3 回答
  • 0 关注
  • 424 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信