If 语句
C#
VB
int i = 3; if (i < 5) { Console.WriteLine("i 小于 5"); } |
Dim i As Integer = 3 If i < 5 Then Console.WriteLine("i 小于 5") End If |
int i = 9; if (!(i < 5)) { Console.WriteLine("i 大于等于 5"); } |
Dim i As Integer = 9 If Not i < 5 Then Console.WriteLine("i 大于等于 5") End If |
int i = 3; if (i < 5) { Console.WriteLine("i 小于 5"); } else { Console.WriteLine("i 大于等于 5"); } |
Dim i As Integer = 3 If i < 5 Then Console.WriteLine("i 小于 5") Else Console.WriteLine("i 大于等于 5") End If |
int i = 3; if (i < 5) { Console.WriteLine("i 小于 5"); } else if (i == 5) { Console.WriteLine("i 等于 5"); } else { Console.WriteLine("i 大于 5"); } |
Dim i As Integer = 3 If i < 5 Then Console.WriteLine("i 小于 5") ElseIf i = 5 Then Console.WriteLine("i 等于 5") Else Console.WriteLine("i 大于 5"); End If |
switch 语句
C#
VB
int i = 9; switch (i) { case 3: Console.WriteLine("i = 3"); break; case 5: Console.WriteLine("i = 5"); break; case 9: Console.WriteLine("i = 9"); break; default: Console.WriteLine("other"); break; } |
Dim i As Integer = 9 Select Case i Case 3 Console.WriteLine("i = 3") Case 5 Console.WriteLine("i = 5") Case 9 Console.WriteLine("i = 9") Case Else Console.WriteLine("other") End Select |
int i = 5; switch (i) { case 3: case 5: case 9: Console.WriteLine("i = 3 or 5 or 9"); break; default: Console.WriteLine("other"); break; } |
Dim i As Integer = 5 Select Case i Case 3, 5, 9 Console.WriteLine("i = 3 or 5 or 9") Case Else Console.WriteLine("other") End Select |
不支持 |
Dim i As Integer = 9 Select Case i Case 5 To 9 Console.WriteLine("i = 5 to 9") End Select |
enum Tricolor { Red, Green, Blue } // ... Tricolor color = Tricolor.Blue; switch (color) { case Tricolor.Blue: Console.WriteLine("Blue"); break; case Tricolor.Green: Console.WriteLine("Green"); break; default: Console.WriteLine("other color"); break; } |
Enum Tricolor Red Green Blue End Enum ' ... Dim color As Tricolor = Tricolor.Blue Select Case color Case Tricolor.Blue Console.WriteLine("Blue") Case Tricolor.Green Console.WriteLine("Green") Case Else Console.WriteLine("other color") End Select |
技巧1. Imposible Is Nothing记得我在调试程序的时候说得最多的一句话就是“不可能啊……”。因为我们在编程的时候总是要假设很多条件的。我们会假设天不会塔下来、出门不会被车撞到、吃饭不会被噎死,否则就没法生活下去了。例如我们会这样写程序:
if(sex==1)
{
Console.WriteLine("男人");
}
elseif(sex==0)
{
Console.WriteLine("女人");
}
因为我们心想 sex 变量不可能出现别的值。
不过一旦写了这样的代码,不久之后就一定会后悔的,因为就像温伯格所说的,“所有不可能发生的事情都一定会发生”,所以正确的写法应该是:
if(sex==1)
{
Console.WriteLine("男人");
}
elseif(sex==0)
{
Console.WriteLine("女人");
}
else
{
System.Diagnostics.Debug.Assert(false,"Shouldneverreachhere!");
}
或者这样写也不错:
System.Diagnostics.Debug.Assert((sex==1||sex==0),"wrongsex");
if(sex==1)
{
Console.WriteLine("男人");
}
else
{
Console.WriteLine("女人");
}
总之只要你写if或switch语句,就要确保它覆盖了变量的所有取值范围。
2. 避免多层嵌套的if语句相信大家都受过一层套着一层又套着一层的代码的折磨,特别是正巧每层代码又很长的时候,那感觉就像在热带雨林里迷了路,转过好几圈却不知道自己身在何处。比较下面两段功能相同的代码。
可读性不好的代码:
publicstringfoo(intage)
{
if(age>=0&&age<=150)
{
if(age>=0&&age<=18)
{
return"青少年";
}
elseif(age>18&&age<=60)
{
return"中年";
}
else
{
return"老年";
}
}
else
{
return"无效的年龄";
}
}
可读性好的代码:
publicstringfoo(intage)
{
if(age<0||age>150)
{
return"无效的年龄";
}
if(age>=0&&age<=18)
{
return"青少年";
}
elseif(age>18&&age<=60)
{
return"中年";
}
else
{
return"老年";
}
}
是不是感觉一下子清新了好多?而且更重要的是,第二段代码把对正常情况的处理和非正常情况下的处理明显地分成了两部分,使读者更容易集中精力。
http://www.cnblogs.com/1-2-3/archive/2008/01/30/net-basic-knowledge-2-cs-vb-condition-statement.html
分享到:
相关推荐
第3章 ASP.NET开发大杂烩 113 3.1 页面生命周期 114 3.1.1 独立页面生命周期事件顺序 114 3.1.2 具有Master页的生命周期事件顺序 116 3.1.3 ASP.NET生命周期详解 118 3.2 页面状态管理 120 3.2.1 Cookie 121 3.2.2...
第3章 asp.net开发大杂烩 3.1 页面生命周期 3.2 页面状态管理 …… 第4章 windows窗体编程你也行 第5章 数据库开发 第6章 关于xml 第7章 web service开发详解 第8章 用户体验的杀手锏——...
.NET项目的大杂烩,可用于处理23andme数据 ISOGG 2015 Y-DNA单倍体树 在互联网上寻找易于解析的ISOGG 2015 Y-DNA Haplogroup树的版本,我倒霉了。 因此,我决定刮除ISOGG的页面并将数据投影到易于使用的JSON文件中。...
基础传统神经网络算法大杂烩基础传统神经网络算法大杂烩 基础传统神经网络算法大杂烩基础传统神经网络算法大杂烩 基础传统神经网络算法大杂烩基础传统神经网络算法大杂烩 基础传统神经网络算法大杂烩基础传统神经...
第3章 ASP.NET开发大杂烩 113 3.1 页面生命周期 114 3.1.1 独立页面生命周期事件顺序 114 3.1.2 具有Master页的生命周期事件顺序 116 3.1.3 ASP.NET生命周期详解 118 3.2 页面状态管理 120 3.2.1 Cookie 121 3.2.2...
第3章 asp.net开发大杂烩 3.1 页面生命周期 3.2 页面状态管理 …… 第4章 windows窗体编程你也行 第5章 数据库开发 第6章 关于xml 第7章 web service开发详解 第8章 用户体验的杀手锏——...
主要介绍了C++基础入门教程(一):基础知识大杂烩,本文讲解了注释、头文件、命名空间等内容,需要的朋友可以参考下
第3章 asp.net开发大杂烩 3.1 页面生命周期 3.2 页面状态管理 …… 第4章 windows窗体编程你也行 第5章 数据库开发 第6章 关于xml 第7章 web service开发详解 第8章 用户体验的杀手锏——...
第3章 asp.net开发大杂烩 3.1 页面生命周期 3.2 页面状态管理 …… 第4章 windows窗体编程你也行 第5章 数据库开发 第6章 关于xml 第7章 web service开发详解 第8章 用户体验的杀手锏——...
各种工具大杂烩
包括了可能用到的多种数据库的连接语句。很实用!值得下载。
第3章 asp.net开发大杂烩 3.1 页面生命周期 3.2 页面状态管理 …… 第4章 windows窗体编程你也行 第5章 数据库开发 第6章 关于xml 第7章 web service开发详解 第8章 用户体验的杀手锏——...
新能源汽车知识点大杂烩.pdf新能源汽车知识点大杂烩.pdf
软件工具的安装,java、.net、其他学习资料方面的知识等等,只要是你能想到的我这里面都是存在的!
Elasticsearch的大杂烩分享_赖鸿智.pdf
数通必会知识点大杂烩.doc
(大杂烩)proteus仿真MCS51一百例.rar(大杂烩)proteus仿真MCS51一百例.rar(大杂烩)proteus仿真MCS51一百例.rar(大杂烩)proteus仿真MCS51一百例.rar(大杂烩)proteus仿真MCS51一百例.rar(大杂烩)proteus仿真MCS51一百例...
罗列了一些网络安全方面的知识,简单介绍了安全测试的知识。
matlab源码合集大杂烩资源总共大小2G本资源系百度网盘分享地址