Подтвердить что ты не робот

Как определить пустой Char в Delphi

Просто для любопытства,

Почему в Delphi, если мы определили пустой char на:

a:Char;
a:='';

получаем ошибку: Несовместимые типы: 'Char' и 'string'

Однако, если мы разместили

a:='a';

это будет хорошо?

Нужно ли определять пустой char по: a:=#0?

4b9b3361

Ответ 1

A char - единственный (то есть один) символ. Итак, "a", "∫" и "⌬" все в порядке, но не "ab" (двухсимвольная строка), "Hello World!". (двенадцатисимвольная строка) или '' (строка с нулевым символом).

Однако символ NULL (# 0) является символом, как и любой другой.

Кроме того, тип данных символа реализуется как слово (в современных версиях Delphi), то есть как два байта. Если все эти значения 0, 1,..., 2 ^ 16 - 1 используются для реальных символов, как в мире вы представляете свой "пустой char"?

Ответ 2

Нет такой вещи, как пустой char. A char должно иметь значение. Это порядковый тип, простой тип значения. Точно так же, как целое число, скажем, всегда имеет значение, также имеет значение char.

Значение #0 не является пустым char, это символ со значением 0, обычно известный как NUL.