📜  C#中的不安全代码

📅  最后修改于: 2021-05-29 23:58:15             🧑  作者: Mango

C#中的不安全代码是程序的一部分,该程序在.NET框架的公共语言运行时(CLR)的控制范围之外运行。 CLR负责程序员不必担心的所有后台任务,例如内存分配和释放,管理堆栈等。使用关键字“ unsafe”意味着告诉编译器该代码的管理将通过以下方式完成:程序员。使代码内容不安全会带来稳定性和安全性风险,因为在数组的情况下不会进行绑定检查,可能会发生与内存相关的错误,这些错误可能会一直未被检查等。

程序员可以将以下子程序视为不安全:

  1. 代码块
  2. 方法
  3. 种类
  4. 班级
  5. 结构

需要使用不安全的代码吗?

  • 程序何时需要实现指针。
  • 如果使用本机方法。

句法:

unsafe Context_declaration

示例:在这里,我们将main内部的代码块声明为不安全的,以便我们可以使用指针。

// C# program to demonstrate the unsafe code
using System;
  
namespace GFG {
  
class Program {
  
    // Main Method
    static void Main(string[] args)
    {
        // Declaring a code block as 
        // unsafe to make use of pointers
        unsafe
        {
            int x = 10;
            int* ptr;
            ptr = &x;
  
            // displaying value of x using pointer
            Console.WriteLine("Inside the unsafe code block");
            Console.WriteLine("The value of x is " + *ptr);
        } // end unsafe block
  
        Console.WriteLine("\nOutside the unsafe code block");
    } // end main
}
}

注意:此代码将不会直接编译,会产生以下错误。

因此,如果您使用的是Visual Studio,则需要按照给定的步骤进行操作:

1)转到项目属性

2)选择构建选项,然后选中“允许不安全代码”选项。

输出: