旗下导航:搜·么
当前位置:网站首页 > .Net教程 > 正文

C#进修日志08---数据范例 之 字符范例【C#.Net教程】,C#,数据类型,符类型

作者:搜教程发布时间:2019-11-27分类:.Net教程浏览:70评论:0


导读:数值范例之字符范例:计算机处置惩罚的信息中除了数字之外,重要就是字符了,字符包含数字字符、英文字符、表达式标记、等等;C#供应的字符范例根据国际上的公认规范,采纳Un...
数值范例 之 字符范例:

计算机处置惩罚的信息中除了数字之外,重要就是字符了,字符包含数字字符、英文字符、表达式标记、等等;C#供应的字符范例根据国际上的公认规范,采纳Unicode字符集,一个规范的Unicode字符长度为16位,用它能够示意世界上的许多言语。C# 中给字符变量赋值与C/C++相似:

Char ch = 'H'; 有时刻当我们录入人的姓名的时刻也用的 Char 型,比方 之前的日志03当中我就用 char sex;来录入我的性别,这么说来一个汉字也是一个字符了??是的,一个汉字占2个字节,1个字节是8位,换算下,一个汉字恰好就16位了,因而算一个字符;所以 char sex = '男' 是正当编译。

别的,我们还能够直接经由过程十六进制转义 或 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进制下的数值,我试着将代码改成以下:

char c = '\x0033';

char d = '\u0034';

我猜测效果会是 c=3 d=4; 运转效果恰是如许,以上建立。

本着异想天开的精力,我又想起了进修C的时刻用的ASCII码值,会不会ASCLII 码值与Unicode码值是一样的呢?我找到了那本C言语课本,查询到2的ASCII十进制码值是50不是32,,因为以上的猜测建立32是16进制下的32我把它转化为10进制是多少呢???(这可就考到我了,当初先生讲进制转换时,我……唉!不说了,“书到用时方恨少啊!” ),不过我们能够用C#写一个进制转化的顺序来计算下,代码以下:

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

效果是如许:

果真十六进制下的ASCII码值与Unicode的字符码值是相称的,经由查阅材料能够晓得:

ASCLL码满是英文及一些特别标记(制表符等),
Unicode中不仅有英文和特别标记,另有日文、韩文、中文……
如今平常用Unicode(这也是为何日志04中C#支撑用中文定名变量了的缘由了)


和C/C++一样,在C#中依然存在着转义符,用来在顺序中代指特别的控制字符……

可能会不晓得 \a 举个例子 Console.WriteLine("\a\a"); 会发出2声 “嘀”的声响,你尝尝……


字符范例的引见就在这里了,末了本着祛除一切疑问的目标,我想搞清楚如何用C/C++编写进制转换,看来还得去讨教先生了。

(如果有什么毛病的处所望列位大神指导,定会感激涕零!!!!)

以上就是C#进修日志08---数据范例 之 字符范例的内容,更多相关内容请关注ki4网(www.ki4.cn)!

标签:C#数据类型符类型


欢迎 发表评论: