Heim  >  Artikel  >  Backend-Entwicklung  >  C#-Lerntagebuch 08 – Datentyp, Zeichentyp

C#-Lerntagebuch 08 – Datentyp, Zeichentyp

黄舟
黄舟Original
2017-01-20 13:34:081576Durchsuche

Numerischer Zeichentyp:

Neben Zahlen bestehen die von Computern verarbeiteten Informationen hauptsächlich aus Zeichen, darunter numerische Zeichen, englische Zeichen, Ausdruckssymbole usw.; die von C# bereitgestellten Zeichentypen Folgt dem international anerkannten Standard und übernimmt den Unicode-Zeichensatz. Ein Standard-Unicode-Zeichen ist 16 Bit lang und kann zur Darstellung vieler Sprachen auf der Welt verwendet werden. Das Zuweisen von Werten zu Zeichenvariablen in C# ähnelt dem in C/C++:

Char ch = 'H'; Manchmal verwenden wir auch den Char-Typ, wenn ich die Namen von Personen eintrage. Ich habe ihn beispielsweise im vorherigen verwendet Tagebuch 03 char sex; um mein Geschlecht einzugeben, ist ein chinesisches Schriftzeichen also auch ein Schriftzeichen? ? Ja, ein chinesisches Zeichen belegt 2 Bytes und 1 Byte entspricht 8 Bits. Nach der Konvertierung besteht ein chinesisches Zeichen aus genau 16 Bits, es zählt also als ein Zeichen, sodass char sex = 'male' legal kompiliert wird.

Darüber hinaus können wir Zeichenvariablen auch direkt Werte durch hexadezimale Escape- oder Unicode-Darstellung zuweisen, zum Beispiel:

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
  
namespace Example  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            char c = '\x0032';  //\x 是16进制转义符号 此时的32是16进制下的32  
            char d = '\u0032';  //\u 下的32代表Unicode的一个编码  
            Console.WriteLine("c = {0}\td = {1}",c,d);  
  
        }  
    }  
}

Führen Sie es aus:

C#-Lerntagebuch 08 – Datentyp, Zeichentyp

Die obige Aufgabe ist also dieselbe wie char c = '2' char d = '2';

Mit einem Herzen, das mutig genug ist, es zu erforschen, habe ich das Obige noch einmal untersucht Code Habe etwas erkundet. u0032 stellt das Zeichen dar, das in Unicode als 0032 kodiert ist, und x0032 stellt 0032 in Hexadezimalform dar. Im Vergleich dazu wurde festgestellt, dass die Kodierung von Unicode der Wert in Hexadezimalzahl ist. Ich habe versucht, den Code wie folgt zu ändern:

char c = 'x0033';

char d = 'u0034';

Ich schätze, das Ergebnis wird c=3 d=4 sein; Das laufende Ergebnis ist genau so, wie oben WAHR.

Im Geiste des Zufallsdenkens erinnerte ich mich an den ASCII-Codewert, der beim Lernen von C verwendet wurde. Ist es möglich, dass der ASCLII-Codewert mit dem Unicode-Codewert übereinstimmt? Ich habe das C-Lehrbuch gefunden und herausgefunden, dass der ASCII-Dezimalcodewert 2 50 und nicht 32 ist. Da die obige Vermutung wahr ist, ist 32 32 im Hexadezimalformat. ? ? (Dies ist ein Test für mich. Als der Lehrer die Hexadezimalkonvertierung lehrte, ... leider! Ich werde es nicht noch einmal sagen: „Ich bereue es erst, wenn das Buch verwendet wird!“), aber wir können es verwenden C#, um ein Programm für die Hexadezimalkonvertierung zu schreiben, lautet der Code wie folgt:

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
  
namespace Example  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
              
            Console.Write("请输入一个十六进制数:");  
  
            string x = Console.ReadLine();  
            Console.WriteLine("十六进制 {0} 的十进制数表示为:{1}", x, Convert.ToInt32(x, 16)); // Convert.ToInt32(x, 16) 将16进制中x转化为10进制,
            int类型就是十进制;  
            Console.WriteLine("十进制 50 的十六进制数表示为:{0}", Convert.ToString(50,16));//Convert.TonString(50,16)进制转换  或者 可用 int a = 50;  
            a.ToString("X");  
                }  
    }  
}

Das Ergebnis ist wie folgt:

C#-Lerntagebuch 08 – Datentyp, Zeichentyp

Sicher genug , der ASCII-Codewert im Hexadezimalformat ist derselbe wie der Unicode-Zeichencode. Die Werte sind gleich. Nach Rücksprache mit den Daten können wir wissen:

ASCLL-Codes sind alle in Englisch und einige Sonderzeichen (Tabulatorzeichen). , usw.).
Unicode hat nicht nur Englisch und Sonderzeichen, sondern auch Japanisch und Koreanisch, Chinesisch...
Unicode wird jetzt allgemein verwendet (aus diesem Grund unterstützt C# in Diary 04 die Benennung von Variablen auf Chinesisch).


Das Gleiche wie C/C++. Es gibt immer noch Escape-Zeichen in C#, die verwendet werden, um auf spezielle Steuerzeichen in Programmen zu verweisen...

C#-Lerntagebuch 08 – Datentyp, Zeichentyp

Möglicherweise kennen Sie z. B. Console.WriteLine( "aa"); Es werden zwei „Pieptöne“ ausgegeben, versuchen Sie es...


Die Einführung von Zeichentypen ist da und um endlich alle Zweifel auszuräumen. Zu diesem Zweck möchte ich herausfinden, wie man eine Basiskonvertierung in C/C++ schreibt. Es scheint, dass ich den Lehrer um Rat fragen muss.

(Wenn es irgendwelche Fehler gibt, hoffe ich, dass Sie mich darauf hinweisen können, ich werde Ihnen dankbar sein!!!)

Das Obige ist der Inhalt von C# Learning Diary 08---Character Type Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn