老师所说的char 无法表示中文字符是什么意思呢?

来源:2-5 【理论】基本数据类型

I_love_love

2022-04-20

char c=‘中’;这样有什么问题吗?老师所说的char 无法表示中文字符是什么意思呢?

写回答

2回答

qq_一直都在_3

2022-04-21

char只能用于一个字节,而一个中文占两个字节,所以char不能用于中文声明

1
2
吕小绿与红鲤鱼与绿鲤鱼与驴
char类型表示utf16,应该是两个字节,而且char c = '中'; 也没有报错,这里我也不知道老师为什么说不能用来表示中文?
2022-05-20
共2条回复

我是没有昵称

2022-06-20

试了一下,以下代码是没问题的

char c = '中';
Console.WriteLine(sizeof(char));
Console.WriteLine(c);

可以正常打印出汉字 '中' ,并且 sizeof 计算 char 的大小的结果是 2

运行环境 .net 6

微软的帮助文档是这样描述 char 的

.NET 使用 Char 结构通过 UTF-16 编码来表示 Unicode 代码点。 对象的值 Char 是其 16 位数字 (序号) 值。

https://docs.microsoft.com/zh-CN/dotnet/api/system.char?view=net-6.0

0
0

C#速成指南--从入门到进阶,实战WPF与Unity3D开发

系统掌握C#核心和应用,获得全行业适配的技能

870 学习 · 200 问题

查看课程