Упражнение. Печать литеральных значений
В этом упражнении вы распечатываете сообщения, содержащие другие типы данных, и узнаете, почему типы данных настолько важны в C#.
Что такое литеральное значение?
Литеральное значение — это константное значение, которое никогда не изменяется. Ранее в выходной консоли отображалась литеральная строка. Другими словами, вы буквально хотели, чтобы строка буквенно-цифровых символов H
, e
, , o
l
l
и т. д. отображалась в выходной консоли.
Используйте тип данных строки всякий раз, когда у вас есть буквенно-цифровые слова, фразы или данные для презентации, а не вычисления. Какие другие типы литеральных данных можно распечатать для вывода?
Упражнение. Печать различных типов литеральных данных
В C# предусмотрено множество различных типов данных. Тем не менее для начала работы вам достаточно знать всего пять-шесть основных типов данных, которые применяются в большинстве сценариев. Давайте отобразим литеральный экземпляр типа данных для вывода.
Примечание.
При работе в окне кода вы могли заметить, что некоторые элементы синтаксиса, такие как ключевые слова, операторы, типы данных и т. д., выделяются цветом. Мы рекомендуем вам запомнить используемые цветовые сочетания. Это позволит вам быстрее замечать синтаксические ошибки во время ввода символов и лучше понимать код.
Использование символьных литерала
Если вы хотите только один буквенно-цифровой символ, напечатанный на экране, можно создать литерал char, окружив один буквенно-цифровой символ в одинарных кавычках. Термин char
является коротким для символа. В C#этот тип данных официально называется char, но часто называется символом.
Добавьте следующую строку кода в редакторе:
Console.WriteLine('b');
Просмотрите введенный код.
Обратите внимание, что буква
b
окружена одними кавычками'b'
. Одинарные кавычки создают символьный литерал. Помните, что при использовании двойных кавычек создаетсяstring
тип данных.Нажмите зеленую кнопку "Выполнить", чтобы запустить код. Вы увидите следующий результат в окне вывода:
b
Если ввести следующий код:
Console.WriteLine('Hello World!');
Вы получите следующую ошибку:
(1,19): error CS1012: Too many characters in character literal
Обратите внимание на одинарные кавычки, окружающие Hello World!
. При использовании отдельных кавычек компилятор C# ожидает один символ. Однако в этом случае использовался синтаксис литерала символов, но вместо этого были предоставлены 12 символов!
string
Как и тип данных, используется всякий раз, когда для презентации используется char
один буквенно-цифровой символ (а не вычисление).
Использование целых литералы
Если вы хотите отобразить числовое значение целого числа (без дробей) в выходной консоли, можно использовать литерал int. Термин int
является коротким для целочисленного числа, которое можно распознать из изучения математики. В C#этот тип данных официально называется int, но часто называется "целочисленным". Литерал int
не требует других операторов, таких как string
или char
.
Добавьте следующую строку кода в редакторе:
Console.WriteLine(123);
Нажмите зеленую кнопку "Выполнить", чтобы запустить код. Вы увидите следующий результат в выходной консоли:
123
Использование литерала с плавающей запятой
Число с плавающей запятой — это число, содержащее десятичное значение, например 3.14159. C# поддерживает три типа данных для представления десятичных чисел: float
, double
и decimal
. Каждый тип поддерживает различные степени точности.
Float Type Precision
----------------------------
float ~6-9 digits
double ~15-17 digits
decimal 28-29 digits
Здесь точность отражает количество цифр после десятичного разряда, которые являются точными.
Добавьте следующую строку кода в редакторе:
Console.WriteLine(0.25F);
Чтобы создать
float
литерал, добавьте буквуF
после числа. В этом контексте букваF
называется литеральным суффиксом. Литеральный суффикс сообщает компилятору, с которым вы хотите работать со значениемfloat
типа. Нижний регистр или верхний регистрf
F
можно использовать как суффикс литерала для суффиксаfloat
.Нажмите зеленую кнопку "Выполнить", чтобы запустить код. Вы увидите следующий результат в выходной консоли:
0.25
Обратите внимание, что
float
тип данных является наименее точным, поэтому рекомендуется использовать этот тип данных для фиксированных дробных значений, чтобы избежать непредвиденных ошибок вычислений.Добавьте следующую строку кода в редакторе:
Console.WriteLine(2.625);
Чтобы создать
double
литерал, просто введите десятичное число. Компилятор по умолчанию используетdouble
литерал при вводе десятичного числа без суффикса литерала.Нажмите зеленую кнопку "Выполнить", чтобы запустить код. Вы увидите следующий результат в окне вывода:
2.625
Добавьте следующую строку кода в редакторе:
Console.WriteLine(12.39816m);
Чтобы создать его, добавьте после числа букву
m
. В этом контексте букваm
называется литеральным суффиксом. Литеральный суффикс сообщает компилятору, с которым вы хотите работать со значениемdecimal
типа. Нижний регистр или верхний регистрm
M
можно использовать как суффикс литерала для суффиксаdecimal
.Нажмите зеленую кнопку "Выполнить", чтобы запустить код. Вы увидите следующий результат в выходной консоли:
12.39816
Использование логических литералы
Если вы хотите распечатать значение, представляющее одно true
или, false
можно использовать логический литерал.
Срок bool
является коротким для boolean. В C#они официально называются "bool", но часто разработчики используют термин "Boolean".
Добавьте следующие строки кода в редакторе:
Console.WriteLine(true); Console.WriteLine(false);
Нажмите зеленую кнопку "Выполнить", чтобы запустить код. Вы увидите следующий результат в выходной консоли:
True False
Литералы bool
представляют идею истины и ложности. При начале добавления логики принятия решений в приложения вы будете использовать bool
значения. Вы вычисляете выражения, чтобы узнать, является ли выражение истинным или ложным.
Почему типам данных уделяется такое внимание?
Типы данных играют ключевую роль в языке C#. На самом деле акцент на типах данных является одним из ключевых отличительных признаков C# по сравнению с другими языками, такими как JavaScript. Создатели языка C# уверены, что принудительное применение типов данных позволит разработчикам программного обеспечения избежать распространенных ошибок. По мере дальнейшего знакомства с языком C# вы узнаете больше о концепции применения типов данных.
Типы данных определяют возможности
Ранее вы видели, что string
s и char
s используются для "презентации, а не вычисления". Если вы хотите выполнить математическую операцию с числовыми значениями, вам потребуется тип int
или decimal
. Если у вас есть данные, используемые для обработки презентации или текста, следует использовать string
или char
тип данных.
Предположим, что необходимо собирать данные от пользователя, например номер телефона или почтовый индекс. В зависимости от страны или региона, в котором вы живете, эти данные могут состоять из числовых символов. Тем не менее, поскольку вам вряд ли потребуется выполнять математические операции с номерами телефонов или почтовыми индексами, для работы с ними рекомендуется использовать тип данных string
.
То же можно сказать и о типе bool
. Если в вашем приложении требуется работать со словами "true"
и "false"
, следует использовать тип string
. Однако если значения true
или false
будут использоваться в вычислениях, то необходимо выбрать тип bool
.
Важно помнить, что эти значения могут выглядеть так же, как эквивалентные им строковые литералы. Другими словами, существует риск спутать их:
Console.WriteLine("123");
Console.WriteLine(123);
Console.WriteLine("true");
Console.WriteLine(true);
Однако это только отображаемые выходные данные, которые, как представляется, похожи. Операции, которые вы можете выполнять со значениями типа int
или bool
, отличаются от того, что можно делать с их эквивалентами типа string
.
Кратко
Основной вывод заключается в том, что существует множество типов данных, но вы будете сосредоточиться только на нескольких на данный момент:
string
используется для вывода слов, фраз и любых других буквенно-цифровых данных, но не для выполнения вычислений с ними;char
представляет отдельную букву или цифру;int
представляет целое число;decimal
для числа с дробным компонентомbool
true
/false
значение