《asp.net 2.0 开发指南》读书笔记之二 流程控制(4.4 )

4.4.1 条件语句

1. if语句

//if 语句语法代码

if(condition)
 statement(s)

or

if(condition)
 statement(s)
else
 statements(s)

//*整数类型不能隐式地转换为bool类型,必须把返回的整数转换为bool值true或false.

2.switch 语句

//switch语句语法代码

switch(controlling-expression)
{
case constant-expression;
embedded-statements;
break;
default;
embedded-statements;

//* 控制表达式(controlling-expression)的数据类型可以是sbyte,byte,short,ushort,uint,long,ulong,char,string或枚举类型。

//*  if有两个或两个以上case标记中的常量表达式值相同,translate 出错。

//* 在switch语句中最多只能有一个default标记。

4.4.2 循环语句

4种不同的循环语句:

1.for语句

//for 语句语法代码

for(initializer;condition;iterator)
embedded-statement

//*initialzer,condition,iterator三项是可选项。

2.foreach语句

//foreach 语句语法代码

Foreach(type identifier in expression)
embedded-statement

//*类型(type)和标识符(identifier)用来声明循环变量,表达式(expression)对应集合。每执行一个内嵌语句,循环变量就依次取集合中的一个元素代入其中。

//*在这里,循环变量只是一个只读型局部变量。or 将它作为一个ref or out 类型的参数传递时,都将引发编译出错。

//*foreach语句中的expression必须是集合类型。

//*集合中的元素类型到循环变量元素类型必须转换。

EG:

using System;
using System.Collections;

class Test
{
 static void WriteList(ArrayList list)

 {
  foreach(object o in list)
  Console.WriteLine(o);
 }
 static void Main()

 {
  ArrayList list=new ArrayList();
  for(int i=0;i<10;i++)
  WriteList(list);
 }
}


3.while 语句

//while 语句语法代码

while(boolean-expression)
embedded-statement

EG:

bool Condition=false;

while(!condition)
{
 DoSomework();
 condition=Checkondition();
}

4.do-while 语句

// do-while循环语句示例代码:

bool Condition;

do
{
 DoSomework();
 Condition=CheckCondition();
}
while(Condition)

4.4.3 跳转语句

(c#)五个跳转语句:goto,break,continue,return,throw

//*if 没有 try 语句,则跳转语句无条件地将控制从跳转语句转到它的目标。

//*if 跳转语句欲退出的是一个或多个具有相关联的finally块的try块,则控制最初转到最里层的try语句的finally块。if控制到达该finally块的结束点时,控制就转到下一个封闭的try语句中的finally块。过程不断重复,直到执行完所有涉及try语句的finally块。

1、goto语句

//Label标识符示例代码:

Label1:
 DoSomeWork();

//goto语句语法代码:

goto-statement:(goto语句)

 goto identifer;(goto 标识符)
 goto case constant-expression;(goto case 常数表达式)
 goto default;(goto default;)

2.break 语句

//*用来退出最近的switch,while,do,for和foreach语句的循环。

3.continue 语句

//*continue语句开始直接封闭它的while,do,for,foreach语句的一次新迭代。

continue 语句语法代码

continue-statement
continue;

4.return 语句

//*返回对语句中的成员控制(无表达式的return语句只能在无返回值的成员中应用)

//*带表达式的return语句只能在返回表达式的函数成员中运用。

//return 语句语法代码

return-statement;
return expressionopt;

(*不带表达式的return语句只能用在不计算值的函数成员中,即只能在返回类型为void的方法,属性或索引器的set访问器,事件的add和remove访问器,实例构造函数,静态构造函数或析构函数中。带表达式的return语句用在计算机值的函数成员中,即返回类型为非void的方法,属性或索引器的get访问器或用户定义的运算符。必须存在一个隐式转换,能将该表达式的类型转换到包含它的函数成员的返回类型*)

5.throw 语句

用来抛出异常,常与try相关。(*try语句提供一个在程序块执行过程中捕获异常的机制,此外,try语句还提供当try语句脱离控制时总是要执行的代码块。*)

4.4.4 异常处理

异常产生的原因主要有两点:一是throw语句用于立即无条件地引发异常。控制永远不会到达紧跟在throw后面的语句。二是非功过处理C#语句和表达式的过程中,出现特殊情况,引发一个异常。EG:整数除法运算中,分母为零。引发System.DivieByZeroException.

(c#)异常处理语句:一是try-catch捕获异常;二是使用try-finally清除异常;三是用try-catch-finally处理所有异常。

1.捕获异常语句

//(C#)使用try-catch语句捕捉异常

EG:

try
{
 for(;n<=max;n++)
 sum*=n;
}
catch(OverfolwException oe)
{
 Console.WriteLine("溢出");
 return;
}

2.清除异常

//try-finally结构用于清除异常。

EG:

try
{
 for(;n<=max;n++)
 sum*=n;
}
finally
{
 console.WriteLine("溢出");
 return;
}

//上finally子句中的代码在任何情况下都会被执行,即使没有异常发生。

3.处理所有异常

try-catch-finally处理所有的异常

EG:

try
{
 for(;n<=max;n++)
 sum*=n;
}
catch (OverfolwException oe)
{
 Console.WriteLine("溢出");
 return;
}
catch(Exception e)
{
 //捕捉所有异常
}
finally
{
}

4.抛出异常

//可先抛出异常,然后进行捕捉。

throw-statement;
throw expression;

(*带表达式的throw语句引发一个异常,此异常的值是通过计算机表达式而产生的值。计算该表达式所得的值必须属于类类型System.Exception 或 从System.Exception派生的类类型,if 表达式的计算产生null,引发System.NullReferenceException.i 不带表达式的throw语句只用于catch块中,这种情况下,该语句重新引发当前正由该catch块处理的那个异常*)
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值