调用方法的时候,变量必须匹配参数的类型
试着调用MessageBox.Show(123)--传给方法一个字面值(123)而不是一个string。这无法编译,IDE将会给出一个错误提示:“参数‘1’,无法从int转换为string”。
MessageBox.Show()并非是唯一在参数类型错误时会给出错误的方法,所有方法都这样儿,你自己写的方法也是。试着把下面的完整有效的代码写进一个类里面:
IDE给出你一个“无效参数”错误的话,这意味着你试着用错误的参数类型来调用方法。
如果你传递的参数正如方法所预期就可以正常编译--调用MyMethod(true)或者MyMethod(false)都可以编译。
如果你传递给它一个int或者string会怎样?IDE将会给出一个与上面类似的错误。现在试着传给它一个布尔值并把返回值赋值给一个long变量或者把返回值传递给MessageBox.Show()方法。这也不对--这个方法返回的是一个int,不是long或者MessageBox.Show()期待的string。
If语句总是测试来看看是不是有东西是true的
你注意到我们是这么写if语句的了吗:
If(yesNo){
不一定要明确的写“if(yesNo==true)”。因为If语句总是测试来看看是不是有东西是true的。可以用叹号来检查是不是有东西是false的(或者NOT运算符也可以)。“if(!yesNo)”和“if(yesNo==false)”是一样的。从现在开始,后面的示例代码将会经常使用“if(yesNo)”或“if(!yesNo)”,而不会明确的检查一个布尔值是true还是false。