Auch wenn Sie keine Zeiger und unsicheren Code verwenden, können Sie auf jeden Fall sollten das verstehen Konzept und wissen, wie man es benutzt. Wenn Sie in C# arbeiten, kann ich verzeihen, Zeigerarithmetik nicht zu kennen, weil Sie höchstwahrscheinlich es nicht verwenden und höchstwahrscheinlich nicht verwenden sollten. Aber Zeiger existieren überall herum uns ev de in der verwalteten C# -Welt.
Eine dieser beiden Variablen, ist eigentlich ein Zeiger (Reference. Was auch immer. Gleiche Sache). Welcher? Ehrlich, eine Person, die das nicht weiß, muss einen Job mit C für ein Jahr bekommen, danach wird er das sicher verstehen.
Stellen Sie sich vor, dieser Typ muss eine Funktion schreiben, die eine Ref-Zeichenfolge akzeptiert. Es ist:
- unveränderlich.
- Ein Verweis auf ein unveränderliches Objekt.
- Ein Verweis auf einen Verweis auf ein unveränderliches Objekt. (Die Unveränderlichkeit hat nichts mit den Zeigern zu tun. Es wird nur noch verwirrend sein, wenn es unveränderlich ist ^^)
Der Mann verrückt gehen wird versuchen, das herauszufinden, ob er nicht seinen Zeiger verlieren Jungfräulichkeit in C vorher. Oder noch schlimmer, stellen Sie sich vor, dass ein kritischer Teil Ihres Codes ein Dictionary verwendet, das wertvolle Informationen in einer Klasse enthält, und dieser Typ ändert einen seiner Werte, was den GetHashValue des Objekts verändert und dazu führt, dass Sie die Instanz "verlieren".
Auch wenn normale C# -Entwickler keine expliziten Zeiger in ihrem Code verwenden, heißt das nicht, dass Zeiger nicht implizit verwendet werden.
Jeder gute Programmierer muss genau verstehen, was seine Sprache abstrahiert, sonst wird er die Sprache nie richtig verstehen können. Um C# richtig zu machen, müssen Sie C kennen, und um C richtig zu machen, müssen Sie Assembler kennen.
Auch Ihre Frage - Soweit Sie wissen, nahm Ihr Befragter an, dass myObject eine Struktur ist. Er hat es höchstwahrscheinlich nicht, aber trotzdem.
Edit: Ja, Referenzen sind nicht fest, im Gegensatz zu Zeigern. Aber konzeptionell gibt es wirklich keinen Unterschied.
Das sind keine Zeiger. Das sind Referenzen. –
Zeiger, vielleicht nicht. Das ist eine Low-Level-Speicherverwaltung, die ein LOB-Entwickler oft nicht benötigt. * Referenzen *, auf der anderen Seite, ist absolut kritisch. –
Ich mag diese Frage. Ich könnte es eines Tages benutzen. +1 und. :) – EMP