- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
这一篇要讲一个非常重要的话题:char类型与string类型的区别。从字面上说,他们是有区别的
1. char是字符类型
2. string是字符串类型
虽然一字之差,但其本质是很大的。
1. char属于基础类型(C++),在C#中它属于值类型(Value Type)。char类型的长度是固定的,上一篇讲到,在C++中它可能是1个字节,或者2个字节(取决于是否为Unicode Char),而在C#中,它永远是2个字节。
2. string是一个模板类型,也就是一个class(C++)。在C#中它属于引用类型(Reference Type)。string的长度是无法明确取得的。也就是无法通过sizeof来取得,因为它不是一个基础类型,它本身并不固定长度,而取决于内部包含的字符。
说完了本质区别,我们再来看一下从用户角度来看
1. char类型:用单引号,例如:‘陈’,’A’
要表示多个字符怎么办?那么就用char[],也就是数组
【注意】如果在C++中,将’陈’赋值给一个char类型,而不是wchar_t类型,会有问题,因为汉字是两个字节的,char是一个字节的。
2.string类型:用双引号,例如:”我是陈希章”
除此之外,还有一些很重要的区别
1. char类型虽然听起来是字符类型,但其他它可以隐式地转换为包括short, int,long等整数类型。为什么这么说呢?我们不是说了它要么占1个字节,要么占2个字节吗?
下面来看一个例子,如何对Char转换为short,以及如何从short转换为Char
HYPERLINK /2009_09_19/1253353693_ddvip_9431.png \t _blank 图片看不清楚?请点击这里查看原图(大图)。
HYPERLINK /2009_09_19/1253353693_ddvip_1719.png \t _blank 图片看不清楚?请点击这里查看原图(大图)。
这也就是我们经常说的,字符对应的编码:大写A编号为65,小写a编号为97
相关知识:在Excel中,可以通过Char函数根据一个数字返回字符,通过Code函数返回某个字符对应的编码,如下
双击代码全选
1
2
3
4
=CHAR(97) 会返回“a
=CHAR(98) 会返回“b
=CHAR(99) 会返回“c
=CHAR(100) 会返回“d
以此类推。
反向返回
双击代码全选
1
2
3
4
=Code(“a) 会返回“97
=Code(“b) 会返回“98
=Code(“c) 会返回“99
=Code(“d) 会返回“100
2. char类型既然是一个基础类型,它有signed char和unsigned char的区分
signed char 有符号的char,取值范围是-128到127
unsigned char 无符号的char,取值范围是0到255
你可能会问,一个字符跟符号有什么关系呢?
没错,字符是没有关系。但你要知道,char类型可以用来表示整数的。既然是可以用来表示整数,就有正负之分了。例如,我们要表示一个整数,它的取值范围比较小,不会超过255.那么此时,我们就可以直接用unsigned char,而不必用short(2个字节),更没有必要用int(4个字节)了
但是,到了C#里面,所有的char都是无符号的
1、Byte 变量以无符号的 8 位(1 个字节)数字的形式存储,取值范围为 0 到 255。
Byte 数据类型用于存放二进制数据。
注意 Byte 数据类型可以转换为 Short、Integer、Long、Single、Double 或 Decimal 数据类型,而不会出现 System.OverflowException 错误。
2、Char 变量以无符号的 16 位(2 个字节)数字的形式存储,取值范围为 0 到 65535。每个数字代表一个 Unicode 字符。不能直接在 Char 数据类型和数值类型之间进行转换,但可以使用 AscW 和 ChrW 函数来完成。
相关知识:SQL Server中类似整数类型的联想
我又联想到在SQL Server中几个特殊的数据类型
bit
取值:0,1
tinyint
取值:0~255。相当于C++中的unsigned char,或者C#中的byte
smallint
取值:-32768~32767。其实相当于C
您可能关注的文档
- 0-3岁妈妈看:艾斯苔尔:在生活中享受童谣与故事.doc
- C++静态存储区 栈 堆区别.doc
- 1-2 第2节 细胞多样性和统一性与章测试.doc
- C++实验5第一题设计详细过程.doc
- c++中字符串函数.doc
- CAD制图步骤和技巧(实用版).doc
- CC++ 题集(CC++试题与部分答案).doc
- CC++一些面试基本题.doc
- cc++中指针学习两个绝好例子.doc
- CFileDialog用法简介.doc
- 2-红河州建筑施工安全生产标准化工地复核评分表(2022年修改版).docx
- 6.锡通项目2018年下半年工作会汇报材料(2018.7.9).docx
- 2018道路工程知识点汇总(新版).docx
- 附件3:月度生产例会安全汇报资料-站台门项目部.docx
- 附件2:广东建工集团2018年度科技成果汇总表.DOC
- 马武停车区、三汇停车区停车位管理系统,0#台账缺量.doc
- 攀成钢委办发〔2015〕19号(党风廉政建设责任考核与追究办法).doc
- 1-红河州建筑工程质量管理标准化复核评分表(2022年修改版).docx
- 中交第三公路工程局第四工程分公司项目经济合同结算管理办法(修订).doc
- 厂站安全操作规程汇编.doc
最近下载
- 设备安装调试及培训方案.docx VIP
- 2025届高考数学一轮复习备考建议课件——以“立体几何”为例.pptx
- 印刷-包装印刷培训资料.ppt
- 湖南省中小企业融资难的表现、原因以及对策.docx
- 安徽省芜湖市第二十七中学2024--2025学年上学期七年级入学测试数学卷(含答案).pdf VIP
- 年产250万吨薄板坯连铸连轧带钢生产线工艺设计剖析.docx
- 2022年新疆高考文科数学真题及答案.doc VIP
- 国家中小学智慧教育平台应用指南.pptx VIP
- 人教版七年级道法下册 第四单元第十一课 远离违法犯罪(上课、学习课件).pptx VIP
- 2024年N1叉车司机考试题及答案(1000题).doc
文档评论(0)