C#中的不安全代码是程序的一部分,该程序在.NET框架的公共语言运行时(CLR)的控制范围之外运行。 CLR负责程序员不必担心的所有后台任务,例如内存分配和释放,管理堆栈等。使用关键字“ unsafe”意味着告诉编译器该代码的管理将通过以下方式完成:程序员。使代码内容不安全会带来稳定性和安全性风险,因为在数组的情况下不会进行绑定检查,可能会发生与内存相关的错误,这些错误可能会一直未被检查等。
程序员可以将以下子程序视为不安全:
- 代码块
- 方法
- 种类
- 班级
- 结构
需要使用不安全的代码吗?
- 程序何时需要实现指针。
- 如果使用本机方法。
句法:
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)选择构建选项,然后选中“允许不安全代码”选项。
输出: