it-swarm.com.de

Tuple von 2 Int und Methode in Unity C # enthalten

Der Versuch, eine Liste aus zwei ganzen Zahlen zu erstellen, und danach etwas hinzuzufügen. Vergleichen Sie dann, ob x, y einer der Tupel in der Liste Tuple ist.

List<Tuple<int, int>> monsterPositions;

Ich bekomme sofort eine Fehlermeldung, dass es kein Tuple gibt:

Assets/TimeMap.cs (20,7): Fehler CS0246: Der Typ- oder Namespace-Name "Tuple" wurde nicht gefunden. Vermissen Sie eine Baugruppenreferenz?

Ich habe herausgefunden, dass ich Tuple so hinzufügen kann:

monsterPositions.Add(randomX, randomY);

Der schwierigste Teil ist, wie ich das x und y in meiner Tupel-Liste vergleichen kann. Ich versuche, Contains zu verwenden, weiß aber nicht, was daran falsch ist. 

monsterPositions.Contains(Tuple(x, y));
3
chazefate

@ S.Akbari kommentiert die Frage, als ich sie beim Durchschauen beinahe übersehen hatte:

Unity unterstützt nichtTuples.

Immer noch der Fall in Unity 2017.3.1f1.

Andere Beobachtungen:

  • Sie können Vector2 oder Vector2Int (und die anderen Nummern) verwenden, wenn Sie nur floats und ints speichern.
  • Ich habe festgestellt, dass UniRx Tuple unterstützt, wenn Sie diese o.O verwenden
  • Folgen Sie am besten @Jon Skeets Rat und machen Sie Ihre eigene Klasse oder Struktur anders oder, wie er erwähnt hat, um gegebenenfalls Gleichheit umzusetzen.
4
Bilal Akil

Ändern Sie die Playereinstellungen "API-Kompatibilitätsgrad" in ".NET 4.x":

Change API compatibility level to .NET 4.x

1
Ariel F