___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert.
___ answer7856076 ___
Nein, Typen werden zwischengespeichert, sie gibt immer dieselbe statische readonly-Instanz zurück.
Sie können dieses Beispieltestprogramm schreiben, um dies zu überprüfen:)
%Vor%
Dasselbe gilt für die GetType-Methode und für jede andere Reflexionsfunktion, wie das Abrufen von Eigenschaften, Methoden, Feldern, Attributen und allem anderen.
___ answer7856091 ___
Aus dem C # 4 Spec-Abschnitt 7.6.11:
Es gibt nur ein %code% -Objekt für einen gegebenen Typ. Dies bedeutet, dass für einen Typ %code% , %code% immer wahr ist.
(Wenn Sie den Typ über Reflektion erhalten, ruft er immer auch das gleiche %code% -Objekt ab, aber das ist nicht in der Spezifikation.)
___ qstntxt ___
Sollte ziemlich selbsterklärend sein, aber dies ist im Zusammenhang mit Echtzeit-XNA-Code, wo ich Zuteilungen vermeiden möchte, um GC zu vermeiden. Ich frage mich also, ob die verwalteten Typ-Objekte, die den geladenen Typen zugeordnet sind, immer in der Laufzeit vorhanden sind, oder ob typeof () tatsächlich ein neues Type-Objekt (vermutlich aus einigen nicht verwalteten Metadaten in der Laufzeitumgebung) auf dem Heap konstruiert. Das wird Müll gesammelt werden. Fühlen Sie sich frei, alle unwissenden Annahmen / Missverständnisse aufzuzeigen, die sich ergeben, wenn Sie auch diese Frage stellen =)
___ qstnhdr ___ Ordnet der Operator typeof () in C # ein neues Type-Objekt auf dem Heap zu oder gibt einen vorhandenen zurück?
___ tag123garbagecollection ___ Garbage Collection (GC) ist eine Form der automatischen Speicherverwaltung, die versucht, Speichermüll oder Speicher zurückzugewinnen, die von Objekten belegt sind, die nicht mehr vom Programm verwendet werden.
___ tag123reflection ___ Reflection ist die Fähigkeit eines Programms, seine Struktur und / oder sein Verhalten zur Laufzeit zu beobachten und / oder zu ändern.
___ tag123xna ___ XNA ist ein plattformübergreifendes Framework, das ursprünglich von Microsoft stammt und die Entwicklung von Spielen mit .NET erleichtert. Unterstützt: Windows, Xbox 360, Windows Phone (nativ), Silverlight (via SilverSprite oder Exen), iPhone / iPad, Android, Mac OS X, Linux und andere (via MonoGame).
___ tag123typeof___ Typeof (alternate typeof oder TypeOf) ist ein Operator, der von mehreren Programmiersprachen zur Verfügung gestellt wird und den Datentyp einer bestimmten Variablen bestimmt. Dies kann nützlich sein, wenn Sie Teile von Programmen erstellen, die viele Arten von Daten akzeptieren müssen, aber je nach Art der bereitgestellten Daten möglicherweise unterschiedliche Maßnahmen ergreifen müssen.
___