Ich habe eine Liste von RectangleF. Ich habe eine nicht statische Klasse, die einen Verweis auf ein Element aus dieser Liste haben muss. Ich versuche, einen Zeiger zu verwenden:Versuchen, Zeiger auf Listenelement zu erstellen
Item f = new Item();
unsafe
{
f.linkedCollider = &Collisions.items.Last();
}
Allerdings stellt sich dieser einen Compiler-Fehler:
Cannot take the adress of a given expression
Gibt es eine Möglichkeit, um dies zu realisieren?
Wenn Sie Referenzen auf die Elemente in der Liste behalten wollen, dann haben Sie eine Liste von Referenztypen, nicht Werttypen. Die Verwendung von Zeigern wird nicht zu einer produktiven Lösung führen. Und das setzt voraus, dass Sie einen Verweis auf den Gegenstand benötigen, mit dem Sie nicht beginnen können. – Servy
Die Verwendung von Zeigern ist eine außerordentlich schlechte Idee. Erstellen Sie eine Klasse, die genau wie "RectangleF" aussieht, und verwenden Sie Referenzsemantik. – Amy
Sie können C# 7.0 ref returns verwenden. Aber vielleicht solltest du das Problem, das du lösen willst, erklären, sieht aus wie ein xy-Problem. – Sefe