我正在尝试在 Unity 中通过 C# 使用
PriorityQueue
。 文档说它在.NET 6命名空间System.Collections.Generic
中受支持。
我已经尝试过:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;
public class Test : Monobehaviour
{
void Start()
{
var queue = new PriorityQueue<int, int>();
}
}
但是返回了一个错误:
The type or namespace name 'PriorityQueue<,>' could not be found (are you missing a using directive or an assembly reference?) [Assembly-CSharp]
为什么它在Unity中不起作用?
dotnet
报告的版本与Unity的C#/.NET版本完全无关(至少在Unity最终从Mono迁移到然后迁移到CoreCLR等之前)。 虽然支持的语言几乎等于 C# 9.0,但实际使用的库是 Mono 提供的松散超集,实际上大致等于 .NET Framework 4.8/.NET Standard 2.0 ATM;因为它们都没有 PriorityQueue
,所以它根本不可用。您可以: