2016-02-04 5 views
2

Я хотел бы знать, почему некоторые вещи должны быть в паре апострофов и других в котировальных знаках?В C# Когда подходящее время для использования апострофов Котировочные знаки

void trythis(){ 

char myChar = 'Stuff'; 
String myString = "Blah"; 
int myInteger = '22'; 
Serial.print(myChar); 
Serial.print(myString); 
Serial.print(myInteger); 

} 

ответ

1
  • Номер не должен иметь котировок int x= 56
  • символы имеют одинарные кавычки char ch = 'a';
  • строки имеют двойные кавычки string name = "Bob";
0

Код, который вы написали, не компилируется вообще.

Одиночные кавычки используются для символьных литералов (одиночные символы, которые хранятся как UTF-16 в .NET). Целые числа не указаны.

Это было бы справедливо:

char myChar = 's'; 
string myString = "Blah"; 
int myInteger = 22; 
+0

Это компилируется нормально, но его для Arduino так, может быть, вот почему. –

1

символов литералы использовать апостроф. Поэтому, когда вы имеете дело с char, это 'x'.

String литералы используют двойные кавычки. Поэтому, когда вы имеете дело с string, это "x".

A char - это единый кодовый блок UTF-16 - в большинстве случаев «один символ». Строка представляет собой последовательность кодовых единиц UTF-16, то есть «кусок текста» (почти) произвольной длины.

Ваш последний пример, сделав его компиляции, будет выглядеть примерно так:

int myInteger = 'x'; 

Это использует символ буквальным, но неявно преобразовать его в int - эквивалент:

char tmp = 'x'; 
int myInteger = tmp;