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表达式。