在 C# 中,何时是使用撇号引号的正确时间
本文关键字:时间 何时 | 更新日期: 2023-09-27 18:33:06
我想知道为什么有些东西必须在一对撇号内,而另一些必须在引号内?
void trythis(){
char myChar = 'Stuff';
String myString = "Blah";
int myInteger = '22';
Serial.print(myChar );
Serial.print(myString );
Serial.print(myInteger );
}
- 数字不应有引号
int x= 56
- 字符
char ch = 'a';
包含单引号 - 字符串
string name = "Bob";
有双引号
字符文本使用单引号。所以当你处理char
时,这就是'x'
。
字符串文本使用双引号。所以当你处理string
时,这就是"x"
。
char
是单个 UTF-16 代码单元 - 在大多数情况下是"单个字符"。字符串是 UTF-16 代码单元的序列,即(几乎)任意长度的"一段文本"。
编译后的最后一个示例如下所示:
int myInteger = 'x';
这是使用字符文本,但随后隐式将其转换为int
- 相当于:
char tmp = 'x';
int myInteger = tmp;
你写的代码根本无法编译。
单引号用于字符文本(单字符,在 .NET 中存储为 UTF-16)。整数不加引号。
这将是有效的:
char myChar = 's';
string myString = "Blah";
int myInteger = 22;