Ръководство за C#, Литерали
В C#литералите са постоянни стойности, представени в четима от човека форма. Например числото 100 е буквално. Самите литерали и тяхната цел са толкова ясни, че са били използвани във всички предишни примерни програми без никакво обяснение. Но сега е време да им дадем официално обяснение.
В C# литералите могат да бъдат от всеки прост тип. Представянето на всеки литерал зависи от конкретния тип. Както беше обяснено по-рано, символните литерали са оградени в единични кавички. Например 'a' и '%' са символни литерали.
Целочислените литерали се определят като числа без дробна част. Например 10 и -100 са цели числа. Литералите с плаваща запетая изискват десетична запетая и дробна част от числото. Например 11.123 е литерал с плаваща запетая. За реални числа с плаваща запетая в C# е разрешена и експоненциална нотация.
Литералите също трябва да имат конкретен тип, тъй като C# е строго типизиран език. В тази връзка възниква естествен въпрос: към какъв тип трябва да се присвои числовият литерал, например 2, 12 3987 или 0,23? За щастие, C# има набор от лесни за следване правила, които да отговорят на този въпрос:
Първо, целочислените литерали трябва да имат най-малкия целочислен тип, с който могат да бъдат представени, започвайки с int. По този начин целочислените литерали могат да имат един от следните типове: int, uint, long или ulong, в зависимост от стойността на литерала.
Литералите с плаваща запетая са от тип double.
Ако не харесвате типа по подразбиране на литерал, можете изрично да посочите различен тип ссуфикса.
И така, за да посочите типа long toлитералът е със суфикс l или L. Например 12 е литерал от тип int, а 12L е литерал от тип long. За да укажете целочислен тип без знак, към литерала се добавя наставката u или U. Следователно 100 е int литерал, а 100U е uint литерал. И за да се укаже тип дълго цяло число без знак, наставката ul или UL се добавя към литерала. Например 984375UL е литерал от тип ulong.
В допълнение, суфиксът F или f се добавя към литерала, за да укаже типа плаващ елемент. Например 10.19F е плаващ литерал. Можете дори да посочите double, като добавите суфикс към литерала с d или D, въпреки че това е излишно. В крайна сметка, както бе споменато по-горе, литералите с плаваща запетая са от тип double по подразбиране.
И накрая, за да се посочи типът decimal, към литерала се добавя наставката m или M. Например 9,95M е десетичен литерал от тип decimal.
Въпреки че целочислените литерали по подразбиране имат стойности от тип int, uint, long или ulong, те могат да бъдат присвоени на променливи от тип byte, sbyte, short или ushort, при условие че присвоената стойност може да бъде представена от целевия тип.
Шестнадесетични литерали
Вероятно знаете, че в програмирането понякога е по-лесно да се използва база 16, отколкото основа 10. База 16 се нарича шестнадесетична. Той използва числата от 0 до 9, както и буквите от A до F, които представляват десетичните числа 10,11,12,13, 14 и 15. Например десетично 16 съответства на шестнадесетично 10. Тъй като шестнадесетичните числа са често срещани в програмирането, C# позволява целочислените литерали да бъдат указани в шестнадесетичен формат. Шестнадесетичните литерали трябва да започват сзнака0x, т.е. нула, последвана от латинската буква "x". Следват някои примери за шестнадесетични литерали:
Екраниращи последователности на знаци
\a | Звуков сигнал (повикване) |
\b | Една позиция назад |
\f | Превод на страницата (преминаване към нова страница) |
\н | Нов ред (подаване на ред) |
\r | Връщане на каретка |
\T | Хоризонтален раздел |
\v | Вертикален раздел |
\0 | Празен символ |
\' | единичен цитат |
\" | двойни кавички |
\\ | Наклонена черта |
Низови литерали
C# поддържа друг тип литерал,низ. Низовият литерал е набор от знаци, затворени в двойни кавички. Например следният кодов фрагмент:
В допълнение към обикновените знаци, низовият литерал може да съдържа една или повече от последователностите за екраниране на знаци, обсъдени по-горе. Можете също да посочителитерал на низов литерал. Такъв литерал започва със знак @, последван от низ в кавички. Съдържанието на низ в кавички се приема непроменено и може да бъде разширено до два или повече реда. Това означава, че можете да включите нови редове, раздели и т.н. в литерал на низов литерал, без да прибягвате до екраниращи последователности. Единственото изключение са двойните кавички ("), които трябва да бъдат посочени с двойни кавички, последвани от обратна наклонена черта ("\"). Например: