C#成神之路<10> C#代码中制定决策

1、关系运算符
所有关系运算符都是二元运算符,将两个操作数和一个关系运算符关联就是一个关系表达式。(最终得到一个逻辑true或者false的状态)

(1)if语句

    private void btnCalc_Click(object sender, EventArgs e)
    {
        bool flag;
        int val;
        string output = "number is even";
        flag = int.TryParse(txtNumber.Text,out val);
        if (flag == false)
        {
            MessageBox.Show("not a number,reinput");
            txtNumber.Clear();
            txtNumber.Focus();
            return;
        }
        if (val % 2 == 1)
        {
            output = "Number is odd";
        }
        txtOutput.Text = output;
    }

比如上面的程序
TryParse()方法:转换字符串并且转换成功时存放数值的变量。
out关键字:告诉C#可以使用这种变量。(它没有初始化成已知值)传递给该方法的是Lvalue。(从而使得tryparse方法有了永远修改传递给他的变量值所需的一切条件。)
Clear()方法简单删除当前位于文本框对象text属性中的所有字符。

(2)if else语句

    private void btnCalc_Click(object sender, EventArgs e)
    {
        bool flag;
        int val;
        string output ;
        flag = int.TryParse(txtNumber.Text,out val);
        if (flag == false)
        {
            MessageBox.Show("not a number,reinput");
            txtNumber.Clear();
            txtNumber.Focus();
            return;
        }
        if (val % 2 == 1)
        {
            output = "Number is odd";
        }
        else {
            output = "number is even";
        }
        txtOutput.Text = output;
    }

使得代码更加清晰易懂。

(3)简化if else 版本:三元运算符;


    private void btnCalc_Click(object sender, EventArgs e)
    {
        bool flag;
        int val;
        string output ;
        flag = int.TryParse(txtNumber.Text,out val);
        if (flag == false)
        {
            MessageBox.Show("not a number,reinput");
            txtNumber.Clear();
            txtNumber.Focus();
            return;
        }
            output =(val % 2 == 1)? "Number is odd":"number is even";
        txtOutput.Text = output;
    }

如上所示,更加简洁的版本。

注意:没有大括号的if语句仅仅控制一个语句。

(4)RDC代码(真正无智能代码,脑残代码)

在上述if else的知识基础上可以对其进行多重组合:
I.嵌套
II.堆叠:会进行不必要的测试,从而造成资源浪费。
III.层叠:同上。
if的RDC代码可以利用switch语句进行解决。

switch(expression1){
case1:
break;
case2:
break;
default:
break;
}

一般来讲,会将default中的程序调用:
ErrorLog()方法,将错误的值写入错误日志中,从而方便程序维护。这是一种优秀的编程思想。

2、逻辑运算符
类别:&&与 ||或 !非
具体的详情参考《计算机组成原理》其中的真值表运算可以详细剖析任何逻辑问题。

每个运算符的结果都为true或者false表达式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值