首页 > 解决方案 > 记录和记录参数中的不安全实例字段

问题描述

这篇文章中说:

记录参数不能使用ref,outthis修饰符。

和:

记录的实例字段具有不安全类型是错误的。

“记录参数”和“实例字段”是什么意思?

我在 Visual Studio 2019 中测试了以下程序,它没有错误:

using System;

unsafe record Record
{
    unsafe public int* p;
}
record Program
{
    unsafe static void f(out Record param)
    {
        int g = 1000;
        param = new Record { p = &g };
    }
    static void Main()
    {
        unsafe
        {
            Record r;
            f(out r);
            Console.WriteLine(r);
        }
        Console.ReadKey();
    }
}

不是p实例字段吗?不是param记录参数吗?

标签: c#recordc#-9.0

解决方案


推荐阅读