C# 错误 CS0117: 'Array' 不包含定义
C# error CS0117: 'Array' does not contain a definition for
我正在尝试在我的程序中使用 Array.Fill
,但我收到一条错误消息,指出 Fill
没有定义。我在这个 post 的标题中省略了函数名称,因为 Array
中的多个函数似乎会发生同样的问题。我在网上发现了多个 posts 论坛,人们遇到了同样的问题,对他们来说,解决方案是添加 using System;
或 using System.Linq;
,但我已经有了这两个。我怀疑问题是我需要以某种方式添加包含 Array.Fill
定义的程序集 System.Runtime.dll
,但我使用 Unity 和 Visual Studio 来表示 Mac,但我没有能够找到一种方法来管理任一程序中的程序集。我也无法在任何地方找到项目或解决方案文件(我相信那是我要添加程序集的地方)。这是问题行:
Array.Fill<Vector4>(cross, Rot4.Cross(vs[0], vs[1], vs[2]));
有人知道我可以尝试什么吗?我想我可以手动填充数组,但我想知道为什么这不起作用。
Array.Fill
在 .NET Standard 2.0 中不可用,但在 2.1 中可用,
https://docs.microsoft.com/en-us/dotnet/api/system.array.fill?view=netcore-3.1
但 Unity 尚不支持 .NET Standard 2.1,https://docs.unity3d.com/2020.1/Documentation/Manual/dotnetProfileSupport.html 但支持 2.0。
所以在你的情况下,你必须使用变通方法(例如手动填充数组)。
我正在尝试在我的程序中使用 Array.Fill
,但我收到一条错误消息,指出 Fill
没有定义。我在这个 post 的标题中省略了函数名称,因为 Array
中的多个函数似乎会发生同样的问题。我在网上发现了多个 posts 论坛,人们遇到了同样的问题,对他们来说,解决方案是添加 using System;
或 using System.Linq;
,但我已经有了这两个。我怀疑问题是我需要以某种方式添加包含 Array.Fill
定义的程序集 System.Runtime.dll
,但我使用 Unity 和 Visual Studio 来表示 Mac,但我没有能够找到一种方法来管理任一程序中的程序集。我也无法在任何地方找到项目或解决方案文件(我相信那是我要添加程序集的地方)。这是问题行:
Array.Fill<Vector4>(cross, Rot4.Cross(vs[0], vs[1], vs[2]));
有人知道我可以尝试什么吗?我想我可以手动填充数组,但我想知道为什么这不起作用。
Array.Fill
在 .NET Standard 2.0 中不可用,但在 2.1 中可用,
https://docs.microsoft.com/en-us/dotnet/api/system.array.fill?view=netcore-3.1
但 Unity 尚不支持 .NET Standard 2.1,https://docs.unity3d.com/2020.1/Documentation/Manual/dotnetProfileSupport.html 但支持 2.0。
所以在你的情况下,你必须使用变通方法(例如手动填充数组)。