人生低谷来撸C#--019关键字

1、概念-关键字

老说关键字,那什么是关键字,字面理解就可以,关键的那个字。在C#中,关键字(keywords)是预先定义的保留标识符,它们具有特殊的含义,并且由编程语言本身使用。

关键字不能被用作变量名、方法名或其他用户自定义的标识符,因为这样做会导致编译错误。关键字是构成C#语言语法的基石,它们用于定义语言的结构、控制流程、数据类型和其他重要特性。

2、给关键字分类

既然知道关键字用于定义语言的结构、控制流程、数据类型,那就给他做个分类

C#的关键字可以根据其用途大致分为以下几类:

  1. 访问修饰符 :定义类成员的可访问性,如 public, private, protected, internal, protected internal

  2. 数据类型 :定义变量的类型,如 int, float, bool, string, object

  3. 控制流 :控制程序的执行流程,如 if, else, switch, case, for, while, do, break, continue

  4. 异常处理 :用于处理运行时错误,如 try, catch, finally, throw

  5. 类和对象 :与类和对象相关的关键字,如 class, struct, interface, enum, new, this, base

  6. 属性 :用于定义和操作类的属性,如 get, set, value

  7. 泛型和集合 :用于泛型和集合操作的关键字,如 where, in, out, yield

  8. 迭代器 :用于定义迭代器,如 foreach, yield return

  9. 异步编程 :用于异步编程的关键字,如 async, await

  10. 其他 :还有一些其他的关键字,如 using, namespace, return, void, true, false, null 等。

3、解释关键字

到底有多少关键字,其实我也不知道,可能会越来越多,掌握常用的关键字就可以,不用去纠结到底有多少个,太多了也记不住,随时用随时学就行。

通俗的解释79个关键字

访问修饰符
  • public:允许从任何地方访问。
  • private:只允许在当前类内部访问。
  • protected:允许在当前类及其派生类中访问。
  • internal:只允许在同一程序集内访问。
  • protected internal:允许在同一程序集内访问,或者在派生类中访问。
类型修饰符
  • static:表示类或成员是静态的,不依赖于类的实例。
  • readonly:表示字段在初始化后不可修改。
  • const:表示常量,编译时常量会被替换为其实际值。
  • volatile:表示字段可能会被多个线程并发访问和修改。
  • unsafe:允许使用不安全代码,例如指针操作。
  • fixed:固定一块内存,防止垃圾回收器移动它。
  • stackalloc:在栈上分配内存,用于快速访问大量数据。
控制结构
  • if:如果条件为真,则执行一段代码。
  • else:如果条件为假,则执行一段代码。
  • switch:根据表达式的值执行不同的代码块。
  • case:匹配switch表达式的值。
  • default:如果没有匹配的case,则执行default代码块。
  • for:执行一段代码指定次数。
  • foreach:遍历集合或数组。
  • while:当条件为真时,重复执行一段代码。
  • do:至少执行一次代码块,然后检查条件。
  • break:跳出循环或switch语句。
  • continue:跳过当前迭代,继续下一次迭代。
  • goto:无条件跳转到指定的标签。
  • return:从方法中返回值,并结束方法执行。
  • throw:抛出一个异常。
  • try:尝试执行一段代码,捕获可能发生的异常。
  • catch:捕获并处理异常。
  • finally:无论是否发生异常,都会执行的代码块。
数据类型
  • bool:布尔类型,表示true或false。
  • byte:8位无符号整数。
  • char:16位Unicode字符。
  • decimal:128位浮点数,主要用于货币计算。
  • double:64位双精度浮点数。
  • float:32位单精度浮点数。
  • int:32位有符号整数。
  • long:64位有符号整数。
  • object:所有类型的基类。
  • sbyte:8位有符号整数。
  • short:16位有符号整数。
  • string:Unicode字符序列。
  • uint:32位无符号整数。
  • ulong:64位无符号整数。
  • ushort:16位无符号整数。
  • void:表示没有返回值。
类和对象
  • class:定义一个类,封装数据和行为。
  • struct:定义一个值类型,类似于类但更轻量级。
  • interface:定义一组方法签名,供类实现。
  • enum:定义一组命名的常量。
  • new:创建一个新的对象实例。
  • this:引用当前对象。
  • base:引用基类。
  • object:所有类型的基类。
  • as:尝试将对象转换为指定类型,不成功则返回null。
  • is:检查对象是否为指定类型。
  • typeof:获取类型的Type对象。
  • checked:启用溢出检查。
  • unchecked:禁用溢出检查。
泛型和集合
  • where:在泛型约束中使用,指定类型参数必须满足的条件。
  • in:指定类型参数只能作为输入参数。
  • out:指定类型参数只能作为输出参数。
  • yield:用于迭代器方法,返回一系列值。
  • var:隐式类型局部变量,编译器会推断变量的类型。
  • dynamic:表示动态类型,可以在运行时确定其实际类型。
  • default(T):获取类型的默认值。
  • nameof:获取变量或类型的名称。
异步编程
  • async:标记一个方法为异步方法。
  • await:等待一个异步操作完成。
属性和索引器
其他
  • get:获取属性的值
  • set:设置属性的值。
  • add:添加事件处理器。
  • remove:移除事件处理器。
  • value:属性的值。
  • using:声明一个命名空间或资源使用。
  • namespace:定义一个命名空间,组织代码。
  • partial:定义一个部分类或方法。
  • abstract:表示类或方法是抽象的,需要子类实现。
  • sealed:表示类是密封的,不能被继承。
  • virtual:表示方法可以被子类重写。
  • override:重写基类的方法。
  • params:表示方法可以接受可变数量的参数。
  • explicit:定义显式转换运算符。
  • implicit:定义隐式转换运算符。
  • readonly struct:定义一个只读结构体。
  • init:表示属性或参数只能在构造函数中初始化。

4、怎么理解记忆

理解关键字的最佳方式是通过实际编写代码和阅读代码。开始编写C#程序时,会逐渐熟悉这些关键字的用法和上下文:

  • 学习基础:首先学习C#的基础知识,包括数据类型、控制结构、类和对象等。
  • 编写示例:为每个关键字编写简单的示例代码,以了解其在实际中的应用。
  • 阅读文档:查阅官方文档,了解每个关键字的详细说明和用法。
  • 参与项目:加入开源项目或参与团队项目,通过实际工作来加深对关键字的理解。
  • 解决问题:尝试解决一些编程挑战或问题,这将迫使你深入思考关键字的用法。

熟练掌握它们对于成为一名高效的C#开发者至关重要。慢慢你会发现这些关键字变得越来越自然,就像第二语言一样。???这个慢慢是哪个慢慢,这到底有多慢?

相关推荐
懒大王爱吃狼42 分钟前
Python教程:python枚举类定义和使用
开发语言·前端·javascript·python·python基础·python编程·python书籍
秃头佛爷2 小时前
Python学习大纲总结及注意事项
开发语言·python·学习
待磨的钝刨2 小时前
【格式化查看JSON文件】coco的json文件内容都在一行如何按照json格式查看
开发语言·javascript·json
△曉風殘月〆3 小时前
WPF MVVM入门系列教程(二、依赖属性)
c#·wpf·mvvm
XiaoLeisj4 小时前
【JavaEE初阶 — 多线程】单例模式 & 指令重排序问题
java·开发语言·java-ee
励志成为嵌入式工程师5 小时前
c语言简单编程练习9
c语言·开发语言·算法·vim
逐·風5 小时前
unity关于自定义渲染、内存管理、性能调优、复杂物理模拟、并行计算以及插件开发
前端·unity·c#
捕鲸叉5 小时前
创建线程时传递参数给线程
开发语言·c++·算法
A charmer5 小时前
【C++】vector 类深度解析:探索动态数组的奥秘
开发语言·c++·算法
Peter_chq5 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端