C#语言最基本的重要语句:控制程序流的语句。它们不是按代码在程序中的排列位置顺序执行的。

条件语句

条件语句可以根据条件是否满足或根据表达式的值来控制代码的执行分支。C#有两个控制代码的分支结构: if语句,测试特定条件是否满足:switch语句,比较表达式和多个不同的值。

  • 对于条件分支,C#继承了C和C++的if..else 结构。对于用过程语言编程的人,其语法非常直观:

    1 if (condition) 
    2   Console.WriteLine(true);
    3 else
    4      Console.WriteLine(false)
  • 对于条件分支,C#继承了C和C++的if..else 结构。对于用过程语言编程的人,其语法非常直观:

     1  bool isZero;
    2  int i = 0; 
    3 if (i==0) 
    4 {   
    5 isZero = true;   
    6    Console.WriteLine("i is Zero");     
    7 }       
    8 else
    9 {   
    10     isZero = false;       
    11     Console.WriteLine("i is No-Zero");   
    12 }
  • 还可以单独使用if语句,不加最后的else语句。也可以合并else if 语句。
    单独使用if语句
    1 if (condition)
    2 {   
    3  Console.WriteLine(true);
    4  }

    合并else if 语句

     1  string input;
    2  input = Console.ReadLine();
    3 if (input == "") 
    4 {   
    5     Console.WriteLine("You typed in an empty string");   
    6 }       
    7 else if (input.Length < 5)   
    8 {     
    9     Console.WriteLine("The string had less than 5 characters.");     
    10 }     
    11 else if (input.Length < 10)     
    12 {           
    13     Console.WriteLine( "The string had at least 5 but less than 10 C haracters.");     
    14 }

    添加到if字句中的else if 语句的个数不受限制。注意,在上面的例子中,声明了一个字符串变量input让用户在命令行中输入文本,把文本填充到input中,然后测试该字符串变量的长度。代码还显示了在C#中如何进行字符串处理。

  • 对于if语句,要注意的一点是如果条件分支中只有一条语句,就不需要使用花括号。
    1 if (condition)   
    2       Console.WriteLine(true);

    但是为了保持与一致性,大部分人都会加上花括号。前面介绍的if语句还演示了用于比较数值的一些C#运算符。特别注意,C# “==” 对变量进行等于比较运算。此时不要使用 “=”,一个“=”用于赋值。前面介绍的if语句还演示了用于比较数值的一些C#运算符。特别注意,C# “==” 对变量进行等于比较运算。此时不要使用 “=”,一个“=”用于赋值。

  • 前面介绍的if语句还演示了用于比较数值的一些C#运算符。特别注意,C# “==” 对变量进行等于比较运算。此时不要使用 “=”,一个“=”用于赋值。
    在C#中,if子句中的表达式必须等于布尔值(Boolean)。不能直接测试整数(如从函数中返回的值),而必须显示地把返回的整数转换为布尔值 true和false,例如,将值与0或null进行比较:
    1 if (Dosomething() != 0)
    2 {
    3  
    4 } 
    5 else
    6 {         
    7  }  

    提示

在if语句中不使用花括号,可能在维护代码时导致错误。无论if语句返回true还是false,都常常给if语句添加第二条语句。每次都是用花括号,就可以避免这个编码错误。

使用if语句的一个指导原则是只有语句和if语句同一行上,才不允许程序员使用花括号,遵守这条指导原则,程序员就不太可能在添加第二条语句时不添加花括号。

C# 程序流控制 条件语句的更多相关文章

  1. (6)javascript的程序控制结构及语句-----(1)条件判断

    程序控制结构及语句 编程就是将现实应用,转换为程序能够读得懂的语法语句.Javascript编程中对程序流程控制主要是通过条件判断语句.循环控制语句及continue.break来完成的,其中条件判断 ...

  2. 编写高质量代码改善C#程序的157个建议——建议104:用多态代替条件语句

    建议104:用多态代替条件语句 假设要开发一个自动驾驶系统.在设计之初,此自动驾驶系统拥有一个驾驶系统命令的枚举类型: enum DriveCommand { Start, Stop } 当前该枚举存 ...

  3. C++程序设计基础(3)条件语句和循环语句

    注:读<程序员面试笔记>笔记总结 1.知识点 1.1条件语句 (1)if……:(2)if……else……:(3)if……else if……:(4)switch(){case ():brea ...

  4. Python —条件语句

    条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python程序语言指定任何非0和非空(null ...

  5. javascript语句——条件语句、循环语句和跳转语句

    × 目录 [1]条件语句 [2]循环语句 [3]跳转语句 前面的话 默认情况下,javascript解释器依照语句的编写顺序依次执行.而javascript中的很多语句可以改变语句的默认执行顺序.本文 ...

  6. Todd's Matlab讲义第4讲:控制误差和条件语句

    误差和残量 数值求解方程\(f(x)=0\)的根,有多种方法测算结果的近似程度.最直接的方法是计算误差.第\(n\)步迭代结果与真值\(x^\*\)的差即为第\(n\)步迭代的误差: \begin{e ...

  7. (旧)子数涵数·C语言——条件语句

    首先,我们讲一下理论知识,在编程中有三种结构,分别是顺序结构.条件结构.循环结构,如果用流程图来表示的话就是: 那么在C语言中,如何灵活运用这三种结构呢?这就需要用到控制语句了. 而条件语句便是控制语 ...

  8. 在Windows8 Winrt中 高性能处理多个条件语句 用于实现自定义手势

    http://blog.csdn.net/wangrenzhu2011/article/details/8578806 (转) 在winrt中 多点触控 控件的应用越来越多,例如 各种手势与 控件之间 ...

  9. Python学习(5)条件语句

    目录 Python 条件语句 Python 简单的语句组 Python 条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了 ...

  10. js中的条件语句

    //js中的条件语句 ; //example1 单分支语句 ){ console.log("你已经不年轻了!"); }else{ console.log("你依然很有活力 ...

随机推荐

  1. .NET Core 异步(Async)底层原理浅谈

    简介 多线程与异步是两个完全不同的概念,常常有人混淆. 异步 异步适用于"IO密集型"的场景,它可以避免因为线程等待IO形成的线程饥饿,从而造成程序吞吐量的降低. 其本质是:让线程 ...

  2. MySQL底层概述—9.ACID与事务

    大纲 1.ACID之原子性 2.ACID之持久性 3.ACID之隔离性 4.ACID之一致性 5.ACID的关系 6.事务控制演进之排队 7.事务控制演进之排它锁 8.事务控制演进之读写锁 9.事务控 ...

  3. Web API 控制器的行为和操作方法的属性

    ControllerBase 类 Web API 包含一个或多个派生自 ControllerBase 的控制器类. Web API 项目模板提供了一个入门版控制器 [ApiController] [R ...

  4. Qt No Target Architecture

    在QT中引入processthreadsapi.h,如果出现 "No Target Architecture",需要在processthreadsapi.h前引入windows.h ...

  5. 如何使用对象存储 COS ?七个步骤,帮你搞定!

    导语:本文将介绍新手如何使用对象存储 COS,主要面向小白用户,旨在快速带领用户了解 COS 的优势.功能.费用.接口及控制台指南. 01 什么是对象存储 腾讯云对象存储 COS(Cloud Obje ...

  6. Mybatis plus 多表联查字段名重复报错 Column ‘id‘ in where clause is ambiguous

    一.报错信息 Caused by: Column 'xxxx' in where clause is ambiguous 二.报错原因 表 person 和 表 class 都有字段 id 和 nam ...

  7. 判断移动终端类型安卓苹果鸿蒙、查看设备详细信息、跳转到各手机应用商店、判断APP是否已安装

      案例1:判断移动终端类型,微信扫描二维码链接可以区分华为(荣耀).安卓.苹果手机.华为及荣耀会跳到华为应用商店.安卓会提示浏览器打开.苹果跳到苹果商店. <!DOCTYPE html> ...

  8. Qt/C++编写地图应用/离线地图下载/路径规划/轨迹回放/海量点/坐标转换

    一.前言说明 这个地图组件写了很多年了,最初设计的比较粗糙,最开始只是为了满足项目需要,并没有考虑太多拓展性,比如最初都是按照百度地图写死在代码中,经过这几年大量的现场实际应用,以及大量的用户提出的改 ...

  9. Qt/C++摄像头采集/二维码解析/同时采集多路/图片传输/分辨率帧率可调/自动重连

    一.前言 本地摄像头的采集可以有多种方式,一般本地摄像头会通过USB的方式连接,在嵌入式上可能大部分是CMOS之类的软带的接口,这些都统称本地摄像头,和网络摄像头最大区别就是一个是通过网络来通信,一个 ...

  10. Qt编写地图综合应用46-设备点位(添加、删除、清空、重置)

    一.前言 在学习JS语法的时候发现其实程序都大同小异,正所谓一通百通,熟悉各大概的语法以后基本都可以上手,和C++最大的不同就是他没有数据类型的概念,作为解释性的语言,是在执行的时候自动去转换数据类型 ...