ホームページ  >  記事  >  バックエンド開発  >  C#学習日記08---データ型文字型

C#学習日記08---データ型文字型

黄舟
黄舟オリジナル
2017-01-20 13:34:081562ブラウズ

数値型の文字型:

コンピュータが処理する情報は主に文字であり、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);  
  
        }  
    }  
}

実行してください:

C#学習日記08---データ型文字型

したがって、上記の割り当ては 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");  
                }  
    }  
}

結果は次のようになります。

C#学習日記08---データ型文字型 案の定、16 進数の ASCII コード値は Unicode の文字コード値と等しくなります。

完全な ASCLL コード これは英語といくつかの特殊記号 (タブ文字など) です。

Unicode には英語と特殊記号だけでなく、日本語、韓国語、中国語もあります。

現在では Unicode が一般的に使用されています (これが、日記 04 の C# が中国語での変数の名前付けをサポートしている理由です。その理由はなくなりました)


C/C++ と同様に、C# にも特殊なコントロールを参照するために使用されるエスケープ文字がまだあります。プログラム内の文字...

C#学習日記08---データ型文字型 あなたは知らないかもしれません 例: Console.WriteLine("aa"); 試してみてください...


最後に、すべての疑問を解消するために、C/C++ で基底変換を記述する方法を知りたい場合は、教師に助けを求める必要があるようです。

(間違いがあればご指摘いただければ幸いです!!!!)

以上はC#学習日記08---データ型の文字型についての内容です。内容については、PHP 中国語 Web サイト (www.php.cn) にご注意ください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。