char类型与string类型的区别

本文详细阐述了C#与C++中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类型:用双引号,例如:”我是陈希章”

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值