Zunächst einmal ein Wort über Ihren deduktiven Prozess. Dein Abzug - dieses Zeichen wird in int umgewandelt, und deshalb gibt es keinen Zusatzoperator, der auf char definiert ist - Spot auf, so gut für dich. Aber ich bemerke, dass der Abzugsprozess unnötig war. Sie hätten einfach Abschnitt 7.7.4 der Spezifikation lesen können, in dem alle eingebauten Zusatzoperatoren eindeutig beschrieben sind. Kurz gesagt, sie sind int + int, uint + uint, lang + lang, ulong + ulong, float + float, double + double, dezimal + dezimal, enum-und-unterliegender Typ, Delegiertenkombination, string + string, string + object und Objekt + Zeichenfolge. (Und natürlich, die aufgehobenen Versionen von denen, die Werttypen beinhalten.) Ja, es gibt keine Additionsoperatoren, die Zeichen annehmen.
Zweitens, um Ihre "Warum nicht?" - Zeichen sind ein bisschen komisch. Ihr Speicher ist der der kurzen Ganzzahlen, aber ihre Semantik ist die der Zeichen in einer Zeichenkette. Sollte also ein Char als Ganzzahl oder als kurze Zeichenkette behandelt werden?Die Sprachdesigner entschieden sich in diesem Fall dazu, dem Vorbild früherer Sprachen wie C zu folgen und Zeichen wie Ganzzahlen zu behandeln, wenn sie Mathematik ohne Strings bearbeiten. Wenn Sie sie wie kurze Zeichenfolgen behandeln möchten, gibt es mehrere Möglichkeiten, Zeichen in Zeichenfolgen zu konvertieren. Das Anhängen der leeren Zeichenfolge, wie eine andere Antwort nahe legt, teilt dem Compiler eindeutig mit, dass "diese Operation für Zeichenfolgen und nicht für den Ganzzahlwert des Zeichens gilt".
Wenn Sie eine Addition meinen, die die beiden Zeichen in eine Zeichenfolge umwandeln würde, liegt das daran, dass der Compiler keine Ahnung hat, was Sie tun möchten. Zugegeben, es könnte als Standardverhalten hinzugefügt worden sein, aber vielleicht würden andere Leute bevorzugen, dass Zeichen als Ganzzahlen hinzugefügt werden ... also müssten Sie hier eine Zeichenkette aus dem ersten Zeichen instanziieren und diese dann dem zweiten Zeichen manuell hinzufügen jede Fehlinterpretation vermeiden. – RedGlyph
@redglyph: Ich würde es aufwerten, wenn es eine Antwort wäre. –