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...
数据库连接语句是进行数据库操作的基础,不同的数据库系统有着各自特定的连接方式。本文将对给定文件中提及的各种数据库连接语句进行详细解析,帮助读者更好地理解和掌握不同数据库的连接方法。 ### 1. MSSQLServer...
在"ASP.NET 大杂烩"这个主题中,我们主要关注三个核心知识点:AJAXPro的参数传递、ASP.NET分页技术和Repeater控件。 首先,AJAXPro是ASP.NET中的一个库,它允许开发者创建高效的、具有部分页面更新功能的Web应用,...
第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章 用户体验的杀手锏——...
C++是一种强大的面向对象编程语言,对于初学者来说,掌握其基础知识至关重要。本文将深入探讨C++的基础概念,包括注释、头文件、命名空间以及它们在实际编程中的应用。 首先,注释是编程中不可或缺的部分,它们为...
在IT行业中,"工具大杂烩"通常指的是包含多种不同类型工具的集合,这些工具可能涵盖了开发、测试、运维、数据分析等多个领域。在这个压缩包文件"聚宝盆"中,我们可以推测它可能包含了丰富的IT资源,旨在帮助用户一站...
(大杂烩)proteus仿真MCS51一百例.rar(大杂烩)proteus仿真MCS51一百例.rar(大杂烩)proteus仿真MCS51一百例.rar(大杂烩)proteus仿真MCS51一百例.rar(大杂烩)proteus仿真MCS51一百例.rar(大杂烩)proteus仿真MCS51一百例...
总的来说,“人脸识别大杂烩”涵盖的内容广泛且深入,从基础理论到前沿技术,从算法实现到实际应用,无不体现了这一领域的发展活力和广阔前景。通过不断的研究和创新,人脸识别技术将持续推动社会智能化的步伐。
"dos下汇编语言小程序,大杂烩2"这个主题聚焦于在DOS(Disk Operating System)环境下,通过汇编语言编写的小程序。DOS是一个早期的命令行操作系统,广泛应用于个人计算机上,尤其是在80年代和90年代。在这个"大杂烩...
在这个“测试大杂烩”中,我们将会探讨软件测试的基础概念、测试用例设计、自动化测试的原理以及在实际项目中如何有效地运用这些知识。 首先,我们要理解什么是软件测试。它是一种系统性的过程,用于评估软件产品...
罗列了一些网络安全方面的知识,简单介绍了安全测试的知识。
综上所述,这套MATLAB学习资料合集大杂烩资源不仅包含了从基础到高级的所有必要知识,还涉及了多个领域的具体应用案例和实战项目,对于想要系统学习MATLAB的学习者来说是非常宝贵的资源。通过有效利用这些资源,可以...