c#修饰符

你必须已经知道publicprivateprotected这些常在C++当中使用的修饰符。这里我会讨论一些C#引入的新的修饰符。

 

readonly(只读)

readonly修饰符仅在类的数据成员中使用。正如这名字所提示的,readonly 数据成员仅能只读,它们只能在构造函数或是直接初始化操作下赋值一次。readonlyconst数据成员不同,const 要求你在声明中初始化,这是直接进行的。看下面的示例代码:

 

class MyClass

{

    const int constInt = 100;    //直接初始化

    readonly int myInt = 5;      //直接初始化

    readonly int myInt2;     //译者注:仅做声明,未做初始化

   

    public MyClass()

    {

        myInt2 = 8;              //间接的

    }

    public Func()

    {

        myInt = 7;               //非法操作(译者注:不得赋值两次)

        Console.WriteLine(myInt2.ToString());

    }

   

}

 

sealed(密封)

密封类不允许任何类继承,它没有派生类。因此,你可以对你不想被继承的类使用sealed关键字。

 

sealed class CanNotbeTheParent

{

    int a = 5;

}

 

unsafe(不安全)

你可使用unsafe修饰符来定义一个不安全的上下文。在不安全的上下文里,你能写些如C++指针这样的不安全的代码。看下面的示例代码:

 

public unsafe MyFunction( int * pInt, double* pDouble)

{

    int* pAnotherInt = new int;

    *pAnotherInt  = 10;

    pInt = pAnotherInt;

    ...

    *pDouble = 8.9;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值