`

C#如何使用指针

    博客分类:
  • C#
 
阅读更多

概述

 

     为了保持类型安全,默认情况下,C# 不支持指针运算。不过,通过使用 unsafe 关键字,可以定义可使用指针的不安全上下文。有关指针的更多信息,请参见主题指针类型

 

注意

    在公共语言运行库 (CLR) 中,不安全代码是指无法验证的代码。C# 中的不安全代码不一定是危险的,只是其安全性无法由 CLR 进行验证的代码。因此,CLR 只对在完全受信任的程序集中的不安全代码执行操作。如果使用不安全代码,由您负责确保您的代码不会引起安全风险或指针错误。有关更多信息,请参见安全性与 C#

 

不安全代码具有下列属性:

  • 方法、类型和可被定义为不安全的代码块。

  • 在某些情况下,通过移除数组界限检查,不安全代码可提高应用程序的性能。

  • 当调用需要指针的本机函数时,需要使用不安全代码。

  • 使用不安全代码将引起安全风险和稳定性风险。

  • 在 C# 中,为了编译不安全代码,必须用 /unsafe 编译应用程序。

例如

    public static void Main()
    {

        unsafe {
            int g = 12;
            int* p = &g;
            
            Console.WriteLine(*p + "----");
        }


    }

 

但这样默认是编译不过的

修改项目属性

右际项目-》属性-》配置属性-》生成-》允许不安全代码块=true

 

 运行结果

 

12----

请按任意键继续. . .

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics