C# 错误 CS0117:“数组”不包含以下定义

A. *_*man 2 c# linq .net-assembly unity-game-engine visual-studio-mac

我正在尝试在我的程序中使用Array.Fill,但收到一条错误消息,指出没有Fill. 我在这篇文章的标题中省略了函数名称,因为Array. 我在网上发现了多个论坛帖子,人们有同样的问题,对他们来说,解决方案是添加using System;using System.Linq;,但我已经有了这两个。我怀疑问题是我需要以某种方式添加System.Runtime.dll包含 定义的程序集Array.Fill,但我将 Unity 与 Visual Studio for Mac 一起使用,并且我无法找到在任一程序中管理程序集的方法。我也无法在任何地方找到项目或解决方案文件(我相信这就是我要添加程序集的地方)。这是问题线:

Array.Fill<Vector4>(cross, Rot4.Cross(vs[0], vs[1], vs[2]));
Run Code Online (Sandbox Code Playgroud)

有谁知道我可以尝试什么?我想我可以手动填充数组,但我想知道为什么这不起作用。

Lex*_* Li 5

Array.Fill在 .NET Standard 2.0 中不可用,但在 2.1 中可用,

https://learn.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。

因此,在您的情况下,您必须使用解决方法(例如手动填充数组)。