Літерали

Літерали


Зміст



1. Що таке літерали в мові C#? Приклади літералів.

Літерали – це сталі значення, які представляються в зручній для сприйняття формі.

Приклади літералів:

250 - цілочисельний літерал типу int
's' - літерал символьного типу char
'@' - літерал символьного типу char
11.235 - літерал з плаваючою комою типу double
"Text" - літерал рядкового типу string

 


2. Якого типу можуть бути літерали?

Літерали можуть бути будь-якого простого типу. Представлення кожного літералу залежить від конкретного типу.

В залежності від значення літерали можуть бути:

  • цілочисельних типів – int, uint, long, ulong;
  • типів з плаваючою крапкою – float, double, decimal ;
  • символьного типу char;
  • рядкового типу string.

 


3. Яким чином представляються цілочисельні літерали?

За замовчуванням, усі цілочисельні літерали мають тип int:

Приклади літералів типу int:

28
39982
-990

Якщо потрібно, щоб літерал мав тип long, тоді до нього додається суфікс ‘l‘ або ‘L‘. Приклади літералів типу long:

28L
39982l
-30l

Якщо потрібно, щоб літерал мав беззнаковий цілочисельний тип, то до нього треба додати суфікс ‘u‘ або ‘U‘. Приклади літералів типу uint:

28u
0U
1500U

Приклади літералів типу ulong:

200ul
1234567UL
45600009uL

 


4. Чи можна цілочисельні літерали присвоювати змінним типу byte, sbyte, short та ushort.

Можна, але при умові, що значення, яке присвоюється, може бути представлене цілочисельним типом.

Приклад:

byte b;
sbyte sb;
short s;
ushort us;

b = 20;
sb = 30;
s = -30;
us = 100;

// Помилка переповнення: "Constant value cannot be converted to 'sbyte'"
// sb = 130;

 


5. Яким чином представляються літерали, що належать до типів з плаваючою комою?

За замовчуванням, літерали типу з плаваючою комою відносяться до типу double. Крім того, до літералів типу double можна додавати суфікс ‘d‘ або ‘D‘ (це нічого не змінює).

Приклади літералів типу double:

278.39904
-42000.4
-42000.4D
0.0d
1E6
5.6e-3

Якщо потрібно, щоб літерал мав тип float, то до нього потрібно додати суфікс ‘f‘ або ‘F‘. Приклади літералів типу float:

28.5f
28.5F
-600.321235F

Якщо потрібно, щоб літерал мав тип decimal, то до нього додається суфікс ‘m‘ або ‘M‘. Приклади літералів типу decimal:

2084797985789.88m
-9.3886M
3049595882M

 


6. Як здійснюється присвоєння значення літералів змінним типів float та decimal?

Приклад опису та присвоєння значення літералів змінним, що належать до типів з плаваючою комою:

float f;
double d;
decimal x;

f = -600.321235F;
d = 1e9; // d = 1000000000
d = -2.2E-5; // d = -0.000022
x = 3049595882M;

 


7. Як представляються значення цілочисельних літералів у шіснадцятковій системі числення?

Мова C# дозволяє також представляти цілочисельні літерали у шіснадцятковій системі числення. Шіснадцяткові літерали повинні починатися з символів “0x“.

У цих літералах використовуються числа від 0 до 9, а також букви від ‘A‘ до ‘F‘.

Приклади представлення літералів у шістнадцятковій системі числення:

0xFFFF
0x10
0xaddf8
0Xaddf8
0XE

 


8. Яке представлення символьних літералів (char)?

Символьні літерали належать до типу char. Символьні літерали беруться в одинарні лапки.

Приклади символьних літералів:

'A'
'#'
'-'

До символьних літералів також відносяться управляючі послідовності символів, які ще називаються константами зі зворотною косою рискою. Відображення таких символів викликає особливі труднощі.

Приклади управляючих послідовностей символів:

\a - звуковий сигнал
\b - повернення на одну позицію
\f - перехід на нову сторінку
\n - новий рядок (перевід рядка)
\r - повернення каретки
\t - горизонтальна табуляція
\v - вертикальна табуляція
\0 - пустий символ
\' - одинарна лапка
\" - подвійна лапка
\\ - зворотна коса риска

Приклад використання у програмі управляючих послідовностей:

char symbol;
symbol = '\t'; // горизонтальна табуляція
symbol = '\\'; // зворотна коса риска

 


9. Як представляються рядкові літерали?

У мові C# рядковий літерал представляє собою набір символів, взятих у подвійні лапки. Приклади рядкових літералів

"Це рядковий літерал"
"This is a text"
"1234567890"
"First\n\tSecond\n\tThird\n\t"
""

Якщо потрібно задати у вигляді літерала такий шлях:

C:\Programs\myfile.txt

то він матиме такий вигляд:

"C:\\Programs\\myfile.txt"

Приклад опису змінної типу рядковий літерал, в якій задається шлях до файлу:

string path = "c:\\programs\\c_sharp\\myfile.txt";

 


10. Який вигляд має буквальний рядковий літерал?

Буквальний рядковий літерал починається з символу @ після якого слідує рядок в лапках. Вміст буквального рядкового літералу приймається без змін і може бути розширений до двох і більше рядків.

Наприклад:

string str = @"Буквальний

рядковий

літерал";

В буквальний рядковий літерал можна включити управляючі символи (табуляція, новий рядок тощо) не застосовуючи управляючі послідовності.

 


Зв’язані теми