C#关键字概览

简介: C#关键字概览

C#是一种面向对象的编程语言,由微软开发并作为.NET框架的一部分。它具有丰富的关键字,用于定义程序的结构和行为。本文将详细介绍C#中的关键字,包括基本关键字、上下文关键字以及它们在C#编程中的使用方式。

访问修饰符

访问修饰符控制成员的可见性。

  • public: 成员可以在任何地方被访问。
  • private: 成员只能在同一类内部访问。
  • protected: 成员可以在类及其派生类中访问。
  • internal: 成员只能在同一程序集中访问。

类和结构

  • class: 用于定义类。
  • struct: 用于定义值类型,即结构体。

接口和继承

  • interface: 定义一个接口。
  • abstract: 用于创建抽象类和抽象成员。
  • base: 引用基类成员。

异常处理

  • try: 开始异常处理块。
  • catch: 捕获并处理异常。
  • finally: 无论是否发生异常,都会执行的代码块。
  • throw: 抛出一个异常。

控制流

控制程序的执行流程。

  • if: 条件语句。
  • else: 配合if使用,表示“否则”分支。
  • switch: 多条件分支选择。
  • case: switch语句中的分支。
  • default: switch语句的默认分支。
  • for: 循环结构。
  • foreach: 遍历集合或数组。
  • while: 条件循环。
  • do: 先执行循环,再判断条件。
  • break: 跳出循环或switch
  • continue: 跳过当前循环迭代。
  • goto: 跳转到程序中的指定标签。

数据类型

定义变量和值的类型。

  • int: 32位整数。
  • double: 64位浮点数。
  • float: 32位浮点数。
  • decimal: 128位十进制浮点数。
  • bool: 布尔型,值为truefalse
  • char: 16位Unicode字符。
  • string: 字符串类型。
  • byte: 8位无符号整数。
  • sbyte: 8位有符号整数。
  • short: 16位有符号整数。
  • ushort: 16位无符号整数。
  • long: 64位整数。
  • ulong: 64位无符号整数。
  • uint: 32位无符号整数。

变量和参数

  • const: 定义常量。
  • readonly: 定义只读字段。
  • ref: 按引用传递参数。
  • out: 定义输出参数。
  • params: 定义可接受任意数量参数的方法。

类型转换

  • as: 安全类型转换。
  • is: 检查对象是否是特定类型。
  • typeof: 获取类型的System.Type实例。
  • explicit: 显式类型转换。
  • implicit: 隐式类型转换。

内存管理

  • new: 创建对象或调用构造函数。
  • null: 空引用。
  • checked: 受检查的算术运算。
  • unchecked: 允许算术溢出。
  • fixed: 固定缓冲区,防止垃圾回收。
  • stackalloc: 在堆栈上分配内存。

修饰符

  • virtual: 允许方法被重写。
  • override: 重写基类中的虚方法。
  • sealed: 防止方法进一步被重写。
  • volatile: 确保变量读写顺序性。
  • unsafe: 允许不安全代码。
  • extern: 声明外部方法。

特殊关键字

  • this: 当前类的实例引用。
  • operator: 运算符定义或重载。
  • sizeof: 获取类型大小。
  • event: 事件定义。
  • delegate: 委托类型定义。

上下文关键字

上下文关键字在特定上下文中有特殊的含义。

  • add: 为事件添加处理器。
  • remove: 从事件移除处理器。
  • where: LINQ查询中的过滤条件。
  • alias: LINQ查询结果的别名。
  • equals: LINQ中的相等比较。
  • join: LINQ中的连接操作。
  • select: LINQ中的元素选择或转换。
  • yield: 迭代器中的元素返回。
  • ascending: LINQ中的升序排序。
  • from: LINQ的数据源指定。
  • let: LINQ中的中间结果定义。
  • set: 属性的设置器。
  • async: 定义异步方法。
  • await: 等待异步任务完成。
  • nameof: 获取类型或成员的名称。
  • unmanaged: 不安全上下文中的指针类型。
  • global: 指定全局命名空间。
  • on: 事件订阅和取消订阅的事件源。
  • value: 属性的值获取。
  • by: LINQ中的分组操作。
  • group: LINQ的结果分组。
  • orderby: LINQ中的排序。
  • var: 隐式类型的局部变量声明。
  • descending: LINQ中的降序排序。
  • in: foreach循环中的迭代和switch中的模式匹配。
  • partial: 分部类或方法的定义。
  • when: 模式匹配中条件指定。

这些关键字是C#编程的基础,掌握它们对于编写高效、结构清晰的C#程序至关重要。

目录
相关文章
|
2月前
|
C#
30.C# 关键字 this初步学习
30.C# 关键字 this初步学习
21 1
|
2月前
|
C#
28.c#关键字base初步学习
28.c#关键字base初步学习
14 0
|
2月前
|
C#
27.c#关键字sealed修饰类
27.c#关键字sealed修饰类
21 0
|
2月前
|
开发框架 .NET 编译器
C# 9.0中的静态匿名函数:引入static关键字的新用法
【1月更文挑战第15天】C# 9.0为匿名函数带来了一个新的修饰符static,允许开发者明确指定匿名函数不会捕获其包含作用域中的任何变量。这一特性增强了代码的性能和可读性,同时减少了因不小心捕获变量而导致的潜在错误。本文将详细探讨C# 9.0中静态匿名函数的语法、使用场景以及它们如何影响代码的性能和安全性。
|
2月前
|
SQL 开发框架 .NET
EntityFramework数据持久化复习资料3、C#拓展方法与yield关键字使用
EntityFramework数据持久化复习资料3、C#拓展方法与yield关键字使用
34 0
|
2月前
|
存储 Java C++
31.C#:关键字static
31.C#:关键字static
22 1
|
2月前
|
存储 编译器 C#
C#关键字常见面试题
C#关键字常见面试题
|
2月前
|
C#
29.C#关键字throw初步学习
29.C#关键字throw初步学习
38 0
|
10月前
|
存储 编译器 C#
C#关键字相关面试题
C#关键字相关面试题
|
2月前
|
C# 数据安全/隐私保护 开发者
C# 9.0中的Init关键字:Init-only Setters的新篇章
【1月更文挑战第12天】本文介绍了C# 9.0中引入的Init关键字,该关键字允许创建仅在对象初始化时可设置属性的setter。通过Init-only setters,开发者能够更加灵活地控制对象属性的赋值时机,提高代码的可维护性和安全性。文章详细解释了Init关键字的使用方法、适用场景以及与传统setter的区别,并探讨了其在实际开发中的潜在影响。