Maison  >  Article  >  développement back-end  >  Journal d'apprentissage C# 08 --- Type de données Type de caractère

Journal d'apprentissage C# 08 --- Type de données Type de caractère

黄舟
黄舟original
2017-01-20 13:34:081577parcourir

Type de caractère de type numérique :

En plus des chiffres, les informations traitées par les ordinateurs sont principalement des caractères. Les caractères incluent les caractères numériques, les caractères anglais, les symboles d'expression, etc. ; comme suit La norme internationalement reconnue adopte le jeu de caractères Unicode. Un caractère Unicode standard mesure 16 bits et peut être utilisé pour représenter de nombreuses langues dans le monde. L'attribution de valeurs aux variables de caractère en C# est similaire à C/C :

Char ch = 'H'; Parfois, nous utilisons également le type Char lors de la saisie des noms de personnes. Par exemple, je l'ai utilisé dans le précédent. journal 03 char sexe ; pour saisir mon sexe, donc un caractère chinois est aussi un caractère ? ? Oui, un caractère chinois occupe 2 octets, et 1 octet fait 8 bits. Après conversion, un caractère chinois fait exactement 16 bits, il compte donc pour un caractère donc char sex = 'male' est légalement compilé.

De plus, nous pouvons également attribuer directement des valeurs aux variables de caractères via un échappement hexadécimal ou une représentation Unicode, par exemple :

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);  
  
        }  
    }  
}

Exécutez-le :

Journal dapprentissage C# 08 --- Type de données Type de caractère

Donc, la mission ci-dessus est la même que char c = '2' char d = '2'

Avec un cœur assez courageux pour explorer, j'ai réexaminé ce qui précède code J'ai fait quelques explorations. u0032 représente le caractère codé en 0032 en Unicode, et x0032 représente 0032 en hexadécimal. Par comparaison, il a été constaté que le codage d'Unicode est la valeur en hexadécimal. J'ai essayé de changer le code comme suit :

. char c = 'x0033';

char d = 'u0034';

Je suppose que le résultat sera c=3 d=4; vrai.

Dans un esprit de réflexion aléatoire, je me suis souvenu de la valeur du code ASCII utilisée lors de l'apprentissage du C. Est-il possible que la valeur du code ASCLII soit la même que la valeur du code Unicode ? J'ai trouvé le manuel de langage C et découvert que la valeur du code décimal ASCII de 2 est 50 et non 32. Puisque la conjecture ci-dessus est vraie, 32 est 32 en hexadécimal. Quelle est la valeur lorsque je le convertis en décimal ? ? ? (C'est un test pour moi. Quand le professeur m'a enseigné la conversion hexadécimale, je... hélas ! Je ne le répéterai pas : « C'est seulement quand on utilise le livre qu'on le regrette ! »), mais on peut utiliser C# pour écrire un programme de conversion hexadécimale. Pour calculer, le code est le suivant :

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");  
                }  
    }  
}

Le résultat est le suivant :

Journal dapprentissage C# 08 --- Type de données Type de caractère

Bien sûr. , la valeur du code ASCII en hexadécimal est la même que le code de caractère Unicode. Les valeurs sont égales. Après consultation des données, on peut savoir :

Les codes ASCLL sont tous en anglais et quelques symboles spéciaux (caractères de tabulation). , etc.).
Unicode a non seulement l'anglais et les symboles spéciaux, mais aussi le japonais et le coréen...
Unicode est généralement utilisé maintenant (c'est pourquoi C# dans Diary 04 prend en charge la dénomination des variables en chinois)


La même chose qu'en C/C, il y a encore des caractères d'échappement en C#, qui sont utilisés pour faire référence à des caractères de contrôle spéciaux dans les programmes...

Journal dapprentissage C# 08 --- Type de données Type de caractère

Vous ne connaissez peut-être pas un Par exemple Console.WriteLine( "aa"); Il fera 2 "bips", vous essayez...


L'introduction des types de caractères est là, et enfin pour éliminer tous les doutes. Pour cela, je veux comprendre comment écrire la conversion de base en C/C. Il semble que je doive demander conseil à un professeur.

(S'il y a des erreurs, j'espère que vous pourrez me le signaler, je vous en serai reconnaissant !!!)

Ce qui précède est le contenu du journal d'apprentissage C# 08 --- Type de caractère de type de données , pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn