C#中使用不安全代码

来源:互联网 发布:网络电视直播回看软件 编辑:程序博客网 时间:2024/05/11 18:36

       为了保持类型安全,默认情况下,C#不支持指针运算。不过,通过使用unsafe关键字,可以定义允许使用指针的不安全上下文。

       在公共语言运行库(CLR)中,不安全代码是指无法验证的代码。C#中的不安全代码不一定是危险的,只是其安全性无法由CLR进行验证。

       下面的代码是一段不安全代码,在方法中声明了一个int类型的指针,并将该指针自身相加:

       unsafe static void add(int* p)
        {
            *p += *p;
        } 

       在mian函数中使用已经定义的不安全代码方法,并将结果输出:

      unsafe static void Main()
        {
            int i = 5;
            add(&i);
            Console.Write(i);
            Console.Read();
        }

       在编译不安全代码时,在解决方案中点击属性-生成-允许使用不安全代码,编译才能通过:

    

0 0
原创粉丝点击