2 Stimmen

Arbeiten mit Zeigern in C#

Wie kann ich mit Zeigern arbeiten?

16 Stimmen

Nicht.

4 Stimmen

Erklären Sie, warum Sie Pointer verwenden möchten/brauchen. Das sollte einige bessere Antworten und Debatten hervorrufen. Die Verwendung von Pointern in C# kann als recht kontrovers angesehen werden, wenn kein Kontext dafür besteht, warum sie verwendet werden sollen.

0 Stimmen

Wenn dieses Thema kein Duplikat ist und irgendwohin geht, wäre vielleicht ein Community-Wiki hilfreich für diejenigen, die aus Sprachen kommen, in denen die Verwendung von Pointern üblich ist?

2voto

KMån Punkte 9806

Es wurde genug gesagt über die Verwendung der Zeiger in C#; nichtsdestotrotz, wenn Sie es verwenden müssen, hier ist ein Beispiel wie Sie das machen können.

1voto

Hans Olsson Punkte 52909

Zusätzlich zur anderen Antwort, die bereits darauf hinweist, dass Zeiger und unsicherer Code vermieden werden sollten, wenn möglich.

Sie möchten vermeiden, dass unsafe Code überall in Ihrem Code verteilt ist, daher würde ich empfehlen, einen .Net-Wrapper über alle Ihre unsicheren Aufrufe zu schreiben, so dass Sie sich nur an einer Stelle darum kümmern müssen. Eventuell sogar eine Klassenbibliothek dafür erstellen, aber das hängt davon ab, was genau Sie tun.

Es wird natürlich sehr wichtig sein, dass jeder, der den Wrapper verwendet, daran denkt, die Dispose-Methoden des Wrappers aufzurufen und ähnliches, um sicherzustellen, dass alle Zeiger oder anderen nicht verwalteten Ressourcen ordnungsgemäß freigegeben werden, aber das unterscheidet sich nicht von Ihrem übrigen Code.

0 Stimmen

Die Wrapper-Klasse ist eine gute Idee. Du möchtest wirklich deinen unsicheren Code an einem Ort behalten.

0 Stimmen

Implementieren Sie das Dispose und Destruktor-Muster, wenn Dispose nicht aufgerufen wird.

0voto

Wim Coenen Punkte 64891

Die beste Praxis besteht darin, unsicheren Code zu vermeiden. Verwenden Sie daher keine Zeiger in C#.

10 Stimmen

Eine bessere Empfehlung wäre es, darauf hinzuweisen, wo sie nützlich sein könnten, anstatt eine so pauschale Aussage zu machen.

0voto

Sebastian 506563 Punkte 6262

Ich weiß, dass dieses Thema alt ist, aber nachdem ich von C++ zu C# gewechselt habe, habe ich mich in einigen Fällen durch die Verwendung von Set/Get-Eigenschaften einfach simuliertes Verhalten eines Zeigers gefunden. :)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X