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

在 C# 中,何时是使用撇号引号的正确时间

  • 数字不应有引号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;