您的位置:首页 > 编程语言 > C#

C#编程指南——语句类型

2014-10-14 17:46 253 查看
1.选择语句

if... else..., switch... case...

2.迭代语句

do, for,foreach, while

3.跳转语句

break:用于终止最近的封闭循环或它所在的switch语句。

continue:将控制权传递给它所在的封闭迭代语句的下一次迭代。

goto 语句:将程序控制直接传递给标记语句。

goto语句一个通常做法是将控制传递给特定的switch-case 标签或switch 语句的默认标签;goto 语句还用于跳出深嵌套循环。

return:终止它出现在其中的方法的执行并将控制权返回给调用方法;还可以返回一个可选值。

yield:yield return <expression> 计算表达式并以枚举数对象的形式返回;expression 必须可以隐式转换为迭代器的yield 类型。yield break:发出迭代器结束信号

4. 异常处理语句

throw:显示引发异常;通常throw 语句与try-catch 或 try-finally 语句一块使用。当引发异常时,程序查找处理此异常的catch 语句。还可以使用throw 语句再次引发捕获的异常。较好的编码做法是,向再次引发的异常添加信息以在调试时提供更多信息。

有时候在方法中出现了异常,不一定立即把它显示出来,而是想把这个异常抛出并让调用这个方法的程序进行捕捉和处理。这时我们就可以使用throw语句了。

throw[表达式]

注意:表示式的类型必须是System.Exception或是从System.Exception继承的类的类型。throw 也可以不用带表达式,但只能用在catch中

static void Main(string[] args)
{
try
{
Method1();
}
catch(Exception er)
{//立即抓住Method1抛出的异常
Console.WriteLine("Main方法捕获到:"+er.Message);
}

Console.ReadKey();
}
static void Method1()
{
try
{
Method2();
}
catch(Exception er)
{//立即抓住Method2抛出的异常
Console.WriteLine("Method1中捕获到"+er.Message);
//重新抛出当前正在由catch块处理的异常er
throw;
}
}
static void Method2()
{
//Method2抛出新的异常
throw new Exception("Method2中抛出的异常");
}

try-catch

try-finally

try-catch-finally

5.检查和未检查语句

checked:指定已检查的上下文

unchecked:指定未检查的上下文

6.lock 语句

lock 关键字将语句块标记为临界区,方法是获得给定对象的互斥锁,执行语句,然后释放该锁。

通常,应避免锁定public类型,否则实例将超出代码的控制范围。最佳做法是定义private对象来锁定,或private static 对象变量来保护所有实例所共享的数据。

7.fixed语句
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: