es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No se puede utilizar la cola de prioridad C# .NET 6 en Unity.

Estoy tratando de usar PriorityQueue en Unity con C#. La documentación dice que está soportado en .NET 6 en el espacio de nombres System.Collections.Generic.

He intentado lo siguiente:

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="">();
    }
}

Pero se produce un error:

El tipo o nombre de espacio de nombres ‘PriorityQueue<,>’ no se pudo encontrar (¿falta una directiva de uso o una referencia de ensamblado?)
[Assembly-CSharp]

He comprobado la versión de .NET en VS Code: imagen

¿Por qué no funciona en Unity?</int,>

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error sugiere que Unity no puede encontrar la clase PriorityQueue. Esto probablemente se debe a que Unity utiliza una versión diferente del marco de trabajo .NET que la que admite PriorityQueue. Según el mensaje de error, el proyecto se llama “Assembly-CSharp”, lo que sugiere que es un proyecto de Unity. La versión de .NET que Unity utiliza está determinada por la versión del editor de Unity que se está utilizando. Para usar PriorityQueue en Unity, el proyecto debería actualizarse para utilizar una versión del editor de Unity que admita .NET 6, o se debería utilizar un paquete que proporcione la implementación de PriorityQueue en su lugar.

Comments are closed.