Ich versuche, ein C # -Programm zu machen, das Unicode-Zeichen von seinem hexadezimalen Format in ein einzelnes Zeichen übersetzt, und ich habe ein Problem. Das ist mein Code:
Das funktioniert:
%Vor%Dies funktioniert jedoch nicht:
%Vor% Weil (Convert.ToChar("\u0066"))
den Fehler gibt:
String muss genau ein Zeichen lang sein
Hat jemand eine Idee, wie man das macht?
int.Parse mag das Präfix "\ u" nicht, aber wenn Sie zuerst bestätigen, dass es da ist, können Sie
verwenden %Vor%Dadurch werden die ersten zwei Zeichen aus der Eingabezeichenfolge entfernt und der verbleibende Text wird analysiert.
Um sicherzustellen, dass die Sequenz gültig ist, versuchen Sie Folgendes:
%Vor%%Vor%
Dies ist eine Ein-Zeichen-Zeichenfolge zur Laufzeit, weil der Compiler die Backslash-Sequenz verarbeitet hat.
Der Rest Ihres Codes behandelt sechs Zeichenketten { '\', 'u', '0', '0', '6', '6' }
, die Convert.ToChar
nicht verarbeiten kann.
Probieren Sie char.Parse
(oder möglicherweise Int16.Parse(s, NumberStyles.AllowHexSpecifier)
gefolgt von a In char
) umgewandelt.