数値型の文字型:
コンピュータが処理する情報は主に文字であり、C# が提供する文字型は国際的に認められた標準に準拠しています。 Unicode 文字セットを使用すると、標準 Unicode 文字は 16 ビット長となり、世界中の多くの言語を表すことができます。 C# での文字変数への値の割り当ては、C/C++ と似ています:
Char ch = 'H'; 人の名前を入力するときに Char 型を使用することもあります。たとえば、前回の日記 03 では、char sex を使用しました。 ; 私の性別を入力すると、漢字も文字になりますか? ?はい、中国語の文字は 2 バイトを占め、変換後の 1 バイトは 8 ビットになるため、1 文字としてカウントされます。つまり、char sex = 'male' は正当なコンパイルです。
さらに、16 進エスケープまたは Unicode 表記を使用して、文字変数に値を直接割り当てることもできます。例:
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); } } }
実行してください:
したがって、上記の割り当ては char c = '2 と同じです。 ' char d = '2' は同じです
勇気を持って上記のコードをもう一度調べてみました。 u0032 は Unicode で 0032 としてエンコードされた文字を表し、x0032 は 16 進数での 0032 を表します。 比較すると、Unicode のエンコードは 16 進数の値であることがわかります。 コードを次のように変更してみました。 x0033';
char d = 'u0034';
結果は c=3 d=4; になると思います。 実行結果はまさに次のようになります。上記は当てはまります。
ふとした思いつきで、C を学習するときに使用した ASCII コードの値を思い出しました。ASCLII コードの値は Unicode コードの値と同じである可能性はありますか? C言語の教科書を見たところ、ASCIIの10進数コードの2の値は32ではなく50であることが分かりました。上記の推測が正しいので、32は16進数に直すとどのような値になりますか? ? ? (これは私のためのテストです。先生が 16 進数の変換について教えたとき、私は...ああ、もう言いません。「後悔するのは本を使ったときだけです!」) C# で 16 進数に変換するプログラムを書くと、次のようになります。
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"); } } }
結果は次のようになります。
案の定、16 進数の ASCII コード値は Unicode の文字コード値と等しくなります。
完全な ASCLL コード これは英語といくつかの特殊記号 (タブ文字など) です。
Unicode には英語と特殊記号だけでなく、日本語、韓国語、中国語もあります。 現在では Unicode が一般的に使用されています (これが、日記 04 の C# が中国語での変数の名前付けをサポートしている理由です。その理由はなくなりました)
C/C++ と同様に、C# にも特殊なコントロールを参照するために使用されるエスケープ文字がまだあります。プログラム内の文字...
あなたは知らないかもしれません 例: Console.WriteLine("aa"); 試してみてください...
最後に、すべての疑問を解消するために、C/C++ で基底変換を記述する方法を知りたい場合は、教師に助けを求める必要があるようです。
(間違いがあればご指摘いただければ幸いです!!!!)
以上はC#学習日記08---データ型の文字型についての内容です。内容については、PHP 中国語 Web サイト (www.php.cn) にご注意ください。