Ich weiß, dass es wie eine seltsame Frage klingen mag, aber das ist in meinem Kopf für eine Weile weitergegangen.System.String Typ in C#
Ich weiß, dass der System.String-Typ in C# eigentlich eine Klasse mit einem Konstruktor ist, der einen Character-Array-Parameter hat. Zum Beispiel der folgende Code ist legal und verursacht keine Fehler:
System.String s = new System.String("Hello".toCharArray());
Meine Frage ist, was macht, ist möglich, dass die Klasse System.String eine Reihe von Zeichen zu akzeptieren, einfach auf diese Weise:
System.String s = "Hello";
Der Compiler Team machte das möglich. Genau wie andere Literale, Nullable ', Erweiterungsmethoden, etc. –
Könnte es wegen des Indexers sein, den es verwendet? und wenn ja, wie macht es das? – Transcendent
Es ist ein Sprachkonstrukt, genau wie eine 'if' Anweisung oder das' var' Schlüsselwort. Es ist einfach, wie die Sprache funktioniert, "String" ist ein spezieller Fall, um eine einfachere Verwendung zu ermöglichen. –