C#入门教程:引用参数、异常处理与数据库交互

需积分: 3 5 下载量 12 浏览量 更新于2024-10-11 收藏 87KB DOC 举报
"这是一个关于.NET框架下C#编程的复习指南,涵盖了C#的基本用法,包括引用参数、参数数组、异常处理以及数据库连接的概念。通过示例代码详细讲解了这些关键知识点,帮助开发者巩固和理解C#语言的基础操作。" 在C#中,引用参数(ref关键字)是一个重要的特性,它允许函数直接修改传递进来变量的值。在标题和描述中提到的代码段展示了如何使用引用参数。以下是对引用参数的详细解释: 1. 引用参数的使用: 在示例1中,`swap`方法接收三个引用参数`ref int a`, `ref int b`, `ref int c`。当调用这个方法时,必须使用`ref`关键字来指示我们希望传递的是变量的引用,而不是它的副本。这样,方法内的更改会直接影响到原始变量。在`Main`方法中,`swap(ref i1, ref i2, ref i3)`调用确保了`i1`, `i2`, 和 `i3`的值在方法执行后会被交换。 2. 引用静态类成员: 示例2中,`swap`方法尝试对静态类`book`的成员`i3`和`i4`进行交换。由于静态成员属于类本身,而非类的实例,因此可以直接通过类名访问。同样,调用`swap`方法时需要使用`ref`关键字,以确保能修改原始值。 3. 异常处理: 在示例3中,展示了异常处理的使用。`div`方法尝试执行除法运算,但可能抛出`DivideByZeroException`(除以零异常)。通过`try-catch`块,可以捕获并处理可能出现的异常。在`try`块中执行可能会抛出异常的代码,如果`ii`等于0,则会抛出异常。一旦异常发生,控制流会立即跳转到匹配的`catch`块,以便处理异常情况。在这个例子中,如果`ii`是0,程序将不会崩溃,而是输出一个错误消息。 未完成的部分是异常处理的`catch`块,通常会包含用于处理异常的代码,例如输出错误信息或采取适当的恢复措施。标准的异常处理结构如下: ```csharp catch (DivideByZeroException ex) { Console.WriteLine("Error: Division by zero is not allowed."); } ``` 除此之外,C#中的参数数组(params关键字)允许方法接受可变数量的参数。例如,一个方法可以声明为接受任意数量的整数: ```csharp public static void PrintNumbers(params int[] numbers) { foreach (int number in numbers) { Console.WriteLine(number); } } // 调用方式 PrintNumbers(1, 2, 3, 4); // 或者 PrintNumbers(new int[] { 5, 6, 7 }); ``` 至于数据库连接,在C#中通常使用ADO.NET库来与数据库交互,包括`SqlConnection`类用于连接SQL Server,`SqlCommand`类执行SQL命令,`SqlDataReader`读取数据,以及`SqlDataAdapter`和`DataSet`用于填充数据集。不过,这部分内容在给定的代码中没有直接体现。 本复习指南涵盖了C#编程的核心概念,如引用参数的使用,异常处理机制,以及对静态类成员的操作,这些都是开发C#应用程序时的基础知识。通过理解和应用这些概念,开发者能够更好地编写出高效且健壮的代码。