zoukankan      html  css  js  c++  java
  • C# 修饰符

    const : 指定字段或者本地变量不能被修改。

    readonly : 声明一个字段只能在定义的时候赋值或者在构造函数中赋值。

    ( readonly 可以有不同的值,取决于构造函数的值。 const 是一个编译时的常量,readonly是一个运行时的常量,example:

    public static readonly unit l1 = (uint) DateTime.Now.Ticks; )

    event : 指定一个事件

    (用于创建或者标识一个托管, 必须用+=或者-=对托管进行操作)

    extern : 表明方法是在外部实现的, 特别是用其它语言实现的, 它没有具体实现。

    它一般与DllImport 属性联用,但用DllImport时,方法申明必须为static的。

    (public static extern int MyMethod(int x); )

    (

    [DllImport("User32.dll")]

    public static extern int MessageBox(int h, string m, string c, int type);

    )

    sealed : 声明一个类不能被继承。

    ( 结构体是隐性的sealed, 因而,它不能被继承 )

    unsafe : 声明一段不安全的内容。要编译不安全的代码,必须加 /unsafe 编译选项。

    ( 它表示一段不安全的内容,可以进行指针的操作)

    ( unsafe static void FastCopy(byte[] src, byte[] dst, int count ) {} )

    它可以这样用:unsafe static void FastCopy( byte *ps, byte *pd, int count) {}

    unsafe static void SquarePtrParam(int *p)

    {

     *p *= *p;

    }

    unsafe public static void Main()

    {

      int i = 5;

      SquarePtrParam(&i);

      Console.WriteLine(i);

    }

    volatile : 表明一个字段可以被操作系统,硬件,或者并发的线程修改

    当系统用到该值时,系统总是读volatile的对象中的值。尽管它可能前面用到过,不会缓存起来。

    它经常被用在多线程在没有用到lock的时候访问。它保证每个线程读到最新的数据(有可能被其它线程修改)

  • 相关阅读:
    在LINUX中添加按键的驱动并编译进入内核
    什么是Dojo
    Dojo EnhancedGrid Pagination
    再Repeater模板中,如何获取里面的控件 客户端ID ??
    需求分析的大道理
    PL/SQL块结构和组成元素
    ORACLE SQL:经典查询练手第二篇
    企业信息化的定义、内涵
    背景需要需求规格
    asp.net(c#)两时间段每天是星期几,周几(时间段日历显示)的问题解
  • 原文地址:https://www.cnblogs.com/superkklot/p/3703543.html
Copyright © 2011-2022 走看看