[教程][C#] 新手入门教程#7——初识If Statement + .ToString() 方法
21 Nov 2013之前在教程#5 你认识了那帅帅的MessageBox,而且知道了如何更改MessageBox的显示按钮(OK、Yes、No等等),于是你又问问题了
你:如果用户按下Yes的话,我就MessageBox弹出“Yes”,按下No的话,就MessageBox显示“No”要肿么样呢?
我们来分析(或者说写“伪代码”,就是不是代码的代码):
如果 用户按下“Yes”按钮
让 MessageBox 显示“Yes”
如果 用户按下“No”按钮
让 MessageBox 显示“No”
我:如果的英文叫啥?
你:If!
我:厉害厉害!
先让我们看看MessageBox的代码咋写:
在Windows Form 上添加一个Button
然后双击Button
先写个MessageBox,显示“Yes/No”
标题为“If Tests!”
然后设置显示的按钮是Yes和No罢了:
MessageBox 在用户点击的时候就会返回一个enum(先别管这个是啥)
用来表示用户点击了啥按钮
用来看MessageBox点击了什么按钮的方法就是:在用一个MessageBox来显示!
这里的.ToString()是一个方法(Method,或者是Function),它能(很神奇的)把所有object
转成String,为什么要转成String呢?因为MessageBox只接受String咯!
按下F5编译运行试试看:
点击Button就会看到这个MessageBox:
试试看点击“Yes”
就会有另外个MessageBox弹出,显示你刚才点击的按钮:
雷吧?
你:我不要MessageBox里面又有MessageBox的啦!我不要我不要!
好吧,教程#5教过用变量了吧?
现在用吧!
我们知道
MessageBox.Show("Yes/No","If tests..",MessageBoxButtons.YesNo).ToString()
是string吧!创建一个string变量来储存MessageBox返回的参数
然后在用MessageBox show 那个变量里面的值:
你:Where is my IF ?
正题来了,先删除之前写过的代码,我们“砍掉”重练!
if 的格式是这样的:
if ( Boolean Expression)
{
//Body
}
而
//Body
里面就是当Boolean Expression 为True 时运行的代码
你:Boolean Expression是啥?
Boolean Expression就是多个relational operator 组成的“公式”:
假设我用有
变量A = 20
变量B = 30
Operators Description Example | == 如果两边(就是'=='的之前和之后)相等,就返回True (A == B) 为 False ,A 不等于 B | != 如果两边不相等,返回True (A != B) 为 True,A 不等于B |
很像数学对吧?
现在来看看基本的if 如何写:
定义两个int 变量,
A 为 20
B 为 30
(就像上面那样)
现在来看看 == 运算符吧
然后运行看看
MessageBox 并没有弹出来
你:为啥?
我:因为A 不等于 B 咯!
再试试!= 看看:
然后运行:
明白了么?
要如何判断用户点击了Message Box 上的什么按钮呢?
你可能会兴奋地写出:
恩!
很好!
但是还能更好!
Message Box 返回的value 是一个 DialogResult
像这样:
DialogResult 里面有很多成员(members),我们要的是Yes:
然后显示一个MessageBox:
当然别忘了处理用户按了 No 按钮:
F5 编译运行后,你会发现竟然有2个MessageBox 跳出来!
为啥?
因为我们打了2次MessageBox.Show啊!
所以要用变量!变量!
你:MessageBox 返回是什么类型的啊?
我:就是DialogResult啊!
所以我们的变量类型是DialogResult!(有点点奇怪对吧?)
然后把两个if 里面的 MessageBox.show 换成 msg 变量:
完美运行!
PS: 我是不会让你知道其实还有更简单的if.. else.. 写法!
Published by Gary Ng