### C#自学笔记知识点解析 #### 一、基础概念与语法 1. **Static关键字**: - `static` 关键字用于定义静态成员,包括静态方法和静态字段。 - 静态方法属于类本身,不依赖于类的实例。这意味着无需创建类的实例即可调用静态方法。 - `void` 表示该方法没有返回值。 2. **控制台输出**: - `Console.WriteLine("HelloWorld");` 是一个标准的控制台输出语句。 - `Console` 是一个类名,表示控制台类。 - `WriteLine` 是 `Console` 类的一个方法,用于向控制台输出一行文本,并自动换行。 - 类名、方法名和命名空间的第一字母通常采用大写形式,遵循 PascalCase 命名规则。 3. **类与命名空间**: - 命名空间用于组织相关的类,避免命名冲突。 - 例如,`namespaceA` 定义了一个名为 `A` 的命名空间。 - 在命名空间内部可以定义类,如 `public class PrintName`。 - 要调用此类中的方法,首先需要创建一个实例对象,例如 `A.PrintName a = new A.PrintName();`。 - 然后可以通过实例对象调用类中的方法,例如 `a.intro();`。 #### 二、属性 1. **属性的定义**: - 属性是一种特殊的成员,它使得可以像访问字段一样访问类的成员,但实际上是在背后调用 getter 和 setter 方法。 - 通常情况下,属性会关联一个私有字段,例如 `private string m_name;`。 - 属性的命名应与关联的私有字段相似,但首字母大写,例如 `m_name` 对应的属性名为 `Name`。 2. **属性的访问器**: - 属性可以通过 getter 和 setter 访问器进行读取和修改。 - 示例: ```csharp public string Name { get { return m_name; } set { m_name = value; } } ``` - 通过 `get` 访问器可以获取属性的值,通过 `set` 访问器可以设置属性的值。 - 当使用 `zs.Name = "zhangsan";` 时,实际上是在调用 `set` 访问器来设置 `m_name` 的值。 - 当读取 `zs.Name` 时,则会调用 `get` 访问器来获取 `m_name` 的值。 3. **属性的分类**: - 属性可以分为四种类型:只读属性、只写属性、读写属性和索引器。 - 只读属性只有 `get` 访问器,没有 `set` 访问器。 - 只写属性只有 `set` 访问器,没有 `get` 访问器。 - 读写属性同时包含 `get` 和 `set` 访问器。 - 索引器是一种特殊的属性,用于提供对数组或集合中项的访问。 #### 三、弹出窗口与消息框 - 若要在 C# 应用程序中使用弹出窗口或消息框,需要引用 `System.Windows.Forms` 命名空间。 - 示例代码: ```csharp using System.Windows.Forms; MessageBox.Show("这是一个消息框!"); ``` #### 四、方法 1. **方法定义与语法**: - 方法是一段完成特定功能的代码块。 - 方法定义的基本语法: ```csharp 返回类型 方法名(参数列表) { // 方法体 } ``` - 方法名应具有描述性,以便于理解其功能。 - 参数列表可以为空或包含一个或多个参数,多个参数之间用逗号分隔。 2. **方法调用**: - 如果方法没有返回值,则使用 `void` 作为返回类型。 - 调用方法时,可以直接写方法名并加上括号。 - 如果方法有参数,则需要在调用时传入相应的参数值。 3. **参数传递机制**: - 值参数是最常见的参数类型,没有特殊修饰符。 - 引用参数需要使用 `ref` 关键字声明,表示方法可以修改外部传入的参数值。 - 输出参数需要使用 `out` 关键字声明,表示方法将返回一个值给外部传入的参数。 - 示例代码: ```csharp public static void Value(int i) { i++; } public static void Reference(ref int i) { i++; } public static void Output(out int i) { i = 0; i++; } ``` - 在主函数中调用这些方法时需要注意不同参数类型的使用方式。 以上内容覆盖了 C# 中的基础语法、类与命名空间、属性以及方法等知识点。希望这些知识点能够帮助初学者更好地理解和学习 C#。
剩余6页未读,继续阅读
- 粉丝: 1
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 带有边界框的农作物和杂草检测数据 带有 YOLO 和 Pascal 标签的芝麻作物和不同杂草的农业数据
- 练习 JavaScript 的禅宗练习.zip
- 大学生Java二级课程考试
- Nvidia GeForce GT 1030-GeForce Game Ready For Win10&Win11(Win10&Win11 GeForce GT 1030显卡驱动)
- IEC61850仿真模拟器sim860
- 纯 Python Java 解析器和工具.zip
- YOLO标记口罩数据集 (YOLO 格式注释)
- uniapp+vue3+云开发全栈开发同城配送鲜花小程序任意商城教程
- 客户需求快速小程序项目开发技巧
- java项目,课程设计-医疗服务系统.zip