人生低谷来撸C#--019关键字
创始人
2024-11-15 17:12:53
0

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#开发者至关重要。慢慢你会发现这些关键字变得越来越自然,就像第二语言一样。???这个慢慢是哪个慢慢,这到底有多慢?

相关内容

热门资讯

AI大模型需要什么样的数据? 数据将是未来AI大模型竞争的关键要素人工智能发展的突破得益于高质量数据的发展。例如,大...
基于SpringBoot+Vu... 基于SpringBoot+Vue的多媒体信息共享平台(带1w+文档)基于Spring...
2024年人工智能顶级会议投稿... 数据挖掘是信息科学领域的重要分支,致力于挖掘和分析庞大数据集中的有价值模式与规律。它融...
终于来了,Runway gen... 最近有好几个学员私信我们,让我出一期Runway完整的使用教程,刚好11月Runway对外发布运动涂...
人工智能搜索引擎 Perple... Perplexity AI是一款革命性的人工智能搜索引擎,结合传统搜索索引与大型语言模...
AI大模型探索之路-实战篇14... 系列篇章💥AI大模型探索之路-实战篇4:深入DB-GPT数据应用开发框...
k8s核心知识总结 写在前面时间一下子到了7月份尾;整个7月份都乱糟糟的,不管怎么样...
C# 组合Cancellati... 前言在异步编程中,经常需要使用CancellationToken来取消任务的执行。 但...
【PyTorch】多对象分割项...  【PyTorch】单对象分割项目对象分割任务的目标是找到图像中目标对象的边界。实际应用例如自动驾驶...
【服务器】解决ssh登录问题k... 服务器上容器被退出 docker ps -a //查看使用情况 //如果显示为Exitedÿ...