C#关键字 sealed、unsafe、virtual、volatile

sealed

应用于某个类时,sealed 修饰符可阻止其他类继承自该类。 在下面的示例中,类 B 继承自类 A,但没有类可以继承自类 B。

class A {}
sealed class B : A {}

还可以对替代基类中的 虚方法 或 属性的方法 或 属性 使用 sealed 修饰符。 这使你可以允许类派生自你的类并防止它们替代特定虚方法或属性。

unsafe

unsafe 关键字表示不安全上下文,该上下文是任何涉及指针的操作所必需的

可在类型或成员的声明中使用 unsafe 修饰符。 因此,类型或成员的整个正文范围均被视为不安全上下文

virtual

关键字用于修改方法、属性、索引器或事件声明,并使它们可以在派生类中被重写。

虚拟成员的实现可由派生类中的替代成员更改

volatile

volatile 关键字指示一个字段可以由多个同时执行的线程修改。 出于性能原因,编译器,运行时系统甚至硬件都可能重新排列对存储器位置的读取和写入。 声明为 volatile 的字段将从某些类型的优化中排除。 不确保从所有执行线程整体来看时所有易失性写入操作均按执行顺序排序。

volatile 关键字可应用于以下类型的字段:

  • 引用类型。
  • 指针类型(在不安全的上下文中)。 请注意,虽然指针本身可以是可变的,但是它指向的对象不能是可变的。
    换句话说,不能声明“指向可变对象的指针”。
  • 简单类型,如 sbyte、byte、short、ushort、int、uint、char、float 和 bool。
  • 具有以下基本类型之一的 enum 类型:byte、sbyte、short、ushort、int 或 uint。
  • 已知为引用类型的泛型类型参数。
  • IntPtr 和 UIntPtr。

其他类型(包括 double 和 long)无法标记为 volatile,因为对这些类型的字段的读取和写入不能保证是原子的

相关推荐

  1. C++关键字

    2024-03-21 11:12:01       26 阅读
  2. C/C++ extern关键字

    2024-03-21 11:12:01       55 阅读
  3. C++ 中关键字 Static

    2024-03-21 11:12:01       61 阅读
  4. c++关键字const

    2024-03-21 11:12:01       50 阅读
  5. C#面:using 关键字

    2024-03-21 11:12:01       63 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-21 11:12:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-21 11:12:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-21 11:12:01       82 阅读
  4. Python语言-面向对象

    2024-03-21 11:12:01       91 阅读

热门阅读

  1. ORA-00845: MEMORY_TARGET not supported on this system

    2024-03-21 11:12:01       37 阅读
  2. Spring Boot创建一个实例

    2024-03-21 11:12:01       42 阅读
  3. axios、axios二次封装、api解耦

    2024-03-21 11:12:01       30 阅读
  4. MFC 自定义分发消息方法

    2024-03-21 11:12:01       42 阅读
  5. 设计模式(行为型设计模式——迭代器模式)

    2024-03-21 11:12:01       44 阅读
  6. (六):分支和循环结构的应用

    2024-03-21 11:12:01       35 阅读
  7. C++ 设计模式:观察者模式

    2024-03-21 11:12:01       38 阅读
  8. C++设计模式之访问者模式

    2024-03-21 11:12:01       36 阅读
  9. Reactive: Vue3数据更新但是表单没有更新

    2024-03-21 11:12:01       41 阅读
  10. 在Spring Boot中如何处理跨域请求(CORS)?

    2024-03-21 11:12:01       45 阅读
  11. Elasticsearch8搭建及Springboot中集成使用

    2024-03-21 11:12:01       40 阅读