C#关于流程控制的内容

1.布尔逻辑

在这里插入图片描述

表中,var1都是bool类型的变量,var2和var3可以是不同类型,但是bool类型只能使用==和!=运算符。
常见错误:
当var1<var2为false时,var1>var2为true,则导致var1=var2在前面两句中都是false

在这里插入图片描述
^(异或)应用于逻辑运算,真异或假的结果是真,假异或真的结果也是真,真异或真的结果是假,假异或假的结果是假。就是说两个值相异结果为真。
在这里插入图片描述

2.分支

三元运算符:
语法格式:

<test>?<resultIfTrue>:<resultIfFalse>

其中,计算test可以得到一个布尔值,根据这个值确定是resultIfTrue还是resultIfFalse

if语句:
语法格式:

if(<test>)
{
   <code executed if <test> is true>;
}

先执行test,如果test的计算结果为true,就执行该语句之后的代码;如果test的计算结果为false,则没有执行这段代码,就继续执行后面的代码行。
将else语句和if语句合并使用,指定其他代码。如果test的计算结果为false,就执行else语句:

if(<test>)
{
   <code executed if <test> is true>;
}
else
{
   <code executed if <test> is false>;
}

else if语句类似于if语句

switch语句:

switch<testVar>{
   case <comparisonVal1><code to execute if <testVar> == <comparisonVal1>>
breakcase <comparisonVal2><code to execute if <testVar> == <comparisonVal2>>
break;
   ……
   case <comparisonValN><code to execute if <testVar> == <comparisonValN>>
breakdefault<code to execute if <testVar>= <comparisonVals>>
break}

testVar中的值与每个comparisonValX值进行比较,如果有一个匹配,就执行该匹配提供的语句。如果没有匹配,就执行default部分的代码。

break语句将中断switch语句的执行,return语句可以中断当前函数的运行。

基于变量类型在switch case中进行模式匹配(在具备模式匹配能力后,应做到让表达式过滤器尽可能精确,且在switch语句中应该是唯一的)。因为变量类型是已知的,所以可以访问该类型提供的方法和属性。

switch(<testVar>)
{
   case int value:
      <code to execute if <testVar> is an int>
break;
case string s when s.Length==0:
      <code to execute if <testVar> is a string with a length=0>
break;
……
case null:
      <code to execute if <testVar> == null>
break;
case var x:
      <code to execute if <testVar> type>
break;
default:
      <code to execute if <testVar> != comparisonVals>
break;
}

case关键字后跟着想要检查的变量类型(string、int等)。当case语句匹配时,该类型的值保存到声明的变量中;case语句后直接是一个字符串s的类型声明,s可以用来访问testVar中的值以及string类型中可用的方法和属性,when关键字修饰符允许扩展或添加一些额外的条件以执行case语句中的代码;var声明捕获任何其他变量类型。

3.循环

do循环:
执行标记为循环的代码,然后进行一个布尔测试
语法格式:

do
{
    <code to be looped>
}while(<Test>)

while循环:
循环开始时进行布尔测试
语法格式:

while(<Test>)
{
   <code to be looped>
}

for循环:
定义for循环,需要以下信息:初始化计数器变量的一个起始值;继续循环的条件,涉及计数器变量;每次循环最后,对计数器变量执行一个操作
语法格式:

for(<initialization>;<condition>;<operation>)
{
     <code to loop>
}

循环的中断:
break——立即终止循环
continue——立即终止当前的循环(继续下次循环)
return——跳出循环及包含该循环的函数

foreach循环:
语法格式:

foreach(<baseatype> <name> in <array>)
{
    //can use <name> for each element
}

循环迭代每个元素,不存在访问非法元素的危险。但是,只能进行只读访问,不能改变任何元素的值。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏天里的草

你的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值