帮忙解释一下下面的一段C#代码

来源:百度知道 编辑:UC知道 时间:2024/06/14 11:58:27
private void Result_Click(object sender, EventArgs e)
{

if (oprate_flag > 1 && flag != "=" && ((Button)sender).Text != "=") //条件1:如果连输入操作符 条件2:flag!="=" 的作用:使输入如 '3*4+*/-+*=' <=> '4*4='
{ //条件3:
flag = "";
//oprate_flag--;
}
s2 = textBox1.Text;//保留第二个操作数
switch (flag)
{
case "": //如果没有输入操作符和第二个操作数||计算完成后又按“=”号
sum = double.Parse(textBox1.Text); //显示当前内容
break;
case "+":
sum = double.Parse(s1) + double.Parse(s2);
break;
case "-":
sum = double.Parse(s1) - double.Par

double.Parse(); 就是把括号里面的转成双浮点类型的数
应为textbox1.text 内容为string 类型,无法做算术运算所以要转换数据类型 还有float.Parse()转化成整型...
if (oprate_flag > 1 && flag != "=" && ((Button)sender).Text != "=") //如果oprate_flag大于1并且flag 不等于“=”并且按钮的Text属性不等于“=”
switch (flag)
{
case "": 如果flag值是空
case "+": 如果flag值是“+”

sum = double.Parse(s1) + double.Parse(s2); 将s1和s2转化为双精度数字类型相加。
。。。。

double.Parse(); 就是把括号里面的转成double类型的数据
应为textbox1.text 内容为string 类型,无法做算术运算所以要转换数据类型 至于转成double类型是在算术运算时候能计算出实型的数据

double.Parse() 是进行double类型的强制转换 如果转换不成返回null

其他的你给的代码上面都有注释的 很详细