i - 1; j++) { if (scores[j] > scores[j + 1]) { // 交换元素 int temp = scores[j]; scores[j] = scores[j + 1]; scores[j + 1] = temp; } }}冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
第三章总结:
一.函数(方法):在C#中,函数是一段可重复使用的代码块,用于执行特定任务。定义函数的语法如下:
```csharp
返回类型 函数名(参数列表)
{
// 函数体
}
```
函数可以有返回值,也可以没有返回值。参数列表允许传递数据到函数内部。
二.面向对象编程基础:
1. 继承:C#支持类的继承,一个类可以继承自另一个类,从而获取其属性和方法。使用`:`操作符实现继承,如`class DerivedClass : BaseClass`。
2. 封装:封装是面向对象的基本特性,它隐藏对象的属性和实现细节,仅通过公共接口与外界交互。
3. 多态:多态是指子类对象可以替换父类对象,且不影响程序的正确性。C#通过虚方法(virtual)、重写(override)和抽象类(abstract class)实现多态性。
第四章总结:
一.异常处理:在C#中,异常处理使用try-catch-finally语句块。当程序中可能出现错误时,可以在try块中捕获异常,在catch块中处理异常,finally块通常用于确保无论是否发生异常,某些代码都会执行。
```csharp
try
{
// 可能抛出异常的代码
}
catch (ExceptionType e)
{
// 处理特定类型的异常
}
catch (Exception e)
{
// 处理所有其他类型的异常
}
finally
{
// 总是执行的代码
}
```
二.文件操作:C#提供System.IO命名空间,用于进行文件和流的读写操作。例如,使用StreamReader和StreamWriter读写文本文件,使用FileStream处理二进制文件。
第五章总结:
一.LINQ(Language Integrated Query,语言集成查询):C#引入了LINQ,使得查询数据库、集合和其他数据源的操作变得更加简洁。它支持查询表达式语法,可以用于操作各种数据源,如SQL数据库、XML文档和内存中的集合。
二.异步编程:C#提供了异步编程模型,使用async和await关键字可以编写非阻塞的异步代码,提高应用程序的响应性和性能。异步方法使用`async`修饰符标记,其中的关键字`await`用于等待异步操作完成。
以上内容涵盖了C#的基础知识,包括程序创建、关键字、数据类型、变量、输入输出、类与对象、条件结构、循环结构、数组、函数、面向对象编程、异常处理、文件操作以及异步编程等。这些知识点构成了C#编程的基础,为更高级的开发提供了坚实的基础。