C# 特殊关键字 const readonly extern unsafe
来源:互联网 发布:怎样建立网络共享 编辑:程序博客网 时间:2024/05/16 08:29
readonly 关键字与 const 关键字不同。const 字段只能在该字段的声明中初始化。readonly 字段可以在声明或构造函数中初始化。因此,根据所使用的构造函数,readonly 字段可能具有不同的值。另外,const 字段是编译时常量,而 readonly 字段可用于运行时常量,如此行所示:public static readonly uint l1 = (uint)DateTime.Now.Ticks;
extern 修饰符用于声明在外部实现的方法。extern 修饰符的常见用法是在使用 Interop 服务调入非托管代码时与 DllImport 属性一起使用;在这种情况下,该方法还必须声明为 static,如下面的示例所示:
[DllImport("avifil32.dll")]private static extern void AVIFileInit();
extern 关键字还可以定义外部程序集别名,使得可以从单个程序集中引用同一组件的不同版本。有关更多信息,请参见外部别名(C# 参考)。
将 abstract(C# 参考)和 extern 修饰符一起使用来修改同一成员是错误的。使用 extern 修饰符意味着方法在 C# 代码的外部实现,而使用 abstract 修饰符意味着在类中未提供方法实现。
unsafe 关键字表示不安全上下文,该上下文是任何涉及指针的操作所必需的。有关更多信息,请参见不安全代码和指针(C# 编程指南)。
可以在类型或成员的声明中使用 unsafe 修饰符。因此,类型或成员的整个正文范围均被视为不安全上下文。例如,以下是用 unsafe 修饰符声明的方法:
unsafe static void FastCopy(byte[] src, byte[] dst, int count){ // Unsafe context: can use pointers here.}
不安全上下文的范围从参数列表扩展到方法的结尾,因此指针在以下参数列表中也可以使用:
unsafe static void FastCopy ( byte* ps, byte* pd, int count ) {...}
还可以使用不安全块从而能够使用该块内的不安全代码。例如:
unsafe{ // Unsafe context: can use pointers here.}
若要编译不安全代码,必须指定 /unsafe 编译器选项。无法通过公共语言运行库验证不安全代码。
- C# 特殊关键字 const readonly extern unsafe
- C# 关键字readonly和const之区别
- C# const与readonly 关键字的比较
- C# 关键字(Static/Const/Readonly)
- C# 关键字const和readonly对比
- C#中const和readonly关键字
- C#中readonly关键字与const关键字的区别
- C#中readonly关键字与const关键字的区别
- C#中readonly关键字与const关键字的区别
- Java中的final关键字 与 C#中的const, readonly关键字
- c# const const readonly
- 关键字readonly以及const
- const readonly关键字声明
- readonly/const关键字
- const与readonly关键字
- C# const, readonly, static readonly
- C# const, readonly, static readonly
- C# const, readonly, static readonly
- mssql多级查询 CTE递归
- ios开发(一)
- 由浅入深学习导航栏CSS样式
- Linux路由应用-使用策略路由实现访问控制
- CSDN使用小技巧
- C# 特殊关键字 const readonly extern unsafe
- SASS简单总结
- 高可用浅谈
- Minimum Depth of Binary Tree
- UVM::display的级别和显示方式
- acm steps 2.1.2(How many prime numbers)
- javascript d3.js
- 古典问题:关于兔子的生命周期。
- 读《互联网创业密码》之感想