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

本文详细介绍了C#中的各种语句类型,包括选择语句(if...else...,switch...case...),迭代语句(do, for, foreach, while),跳转语句(break, continue, goto, return),异常处理(throw, try-catch, try-finally),检查和未检查语句(checked, unchecked),lock语句以及fixed语句。重点讨论了这些语句在实际编程中的应用和最佳实践。" 106850543,5668425,寻找两个正序数组的中位数的高效算法,"['算法', '数据结构', 'Python', '二分查找', '数组']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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语句


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值