Константы и литералы в C#: руководство для начинающих
Здравствуйте, начинающие программисты! Сегодня мы окунемся в мир констант и литералов в C#. Не волнуйтесь, если эти термины показались вам пугающими - к концу этого учебника вы будете использовать их как профессионал!
Что такое константы и литералы?
Прежде чем мы перейдем к деталям, давайте поймем, что такое константы и литералы. Представьте константы как особые переменные, которые не изменяют свое значение после установки. Литералы, с другой стороны, этоactual значения, которые мы используем в нашем коде.
Реальный мир аналогии
Представьте, что у вас есть любимая кружка. Сама кружка похожа на константу - она не изменяется. Кофе, который вы наливаете в нее каждый утро, похож на литерал - это actual значение, с которым вы работаете.
Теперь давайте рассмотрим разные типы литералов в C#!
Целочисленные литералы
Целочисленные литералы - это целые числа без десятичных знаков. В C# мы можем представлять их по-разному.
Десятичные (база 10) литералы
Это те числа, которые мы используем в повседневной жизни.
int myAge = 25;
long worldPopulation = 7800000000;
В этом примере 25
и 7800000000
являются целочисленными литéralами.
Шестнадцатеричные (база 16) литералы
Шестнадцатеричные числа начинаются с 0x
или 0X
.
int hexValue = 0x1A; // Эквивалентно десятичному 26
Здесь 0x1A
является шестнадцатеричным литералом.
Двоичные (база 2) литералы
Двоичные числа начинаются с 0b
или 0B
.
int binaryValue = 0b1010; // Эквивалентно десятичному 10
В этом случае 0b1010
является двоичным литералом.
Плавающие литералы
Плавающие литералы представляют числа с десятичными знаками.
float pi = 3.14f;
double avogadroNumber = 6.022e23;
decimal bankBalance = 1234.56m;
В этих примерах:
-
3.14f
является литералом float (обратите внимание на суффикс 'f') -
6.022e23
является литералом double в научной записи -
1234.56m
является литералом decimal (обратите внимание на суффикс 'm')
Character Constants
Character constants represent single Unicode characters and are enclosed in single quotes.
char grade = 'A';
char newline = '\n';
Here, 'A'
and '\n'
are character constants. The \n
is a special escape sequence representing a newline.
String Literals
String literals are sequences of characters enclosed in double quotes.
string greeting = "Hello, World!";
string path = @"C:\Users\YourName\Documents";
In these examples:
-
"Hello, World!"
is a regular string literal -
@"C:\Users\YourName\Documents"
is a verbatim string literal, where backslashes are treated as literal characters
Multiline String Literals
C# 11 introduced a new way to write multiline strings:
string poem = """
Roses are red,
Violets are blue,
C# is awesome,
And so are you!
""";
This makes writing multiline strings much easier and more readable!
Defining Constants
Now that we've covered literals, let's talk about how to define constants in C#.
To define a constant, we use the const
keyword:
public class MathConstants
{
public const double PI = 3.14159265359;
public const int DAYS_IN_WEEK = 7;
}
Here, PI
and DAYS_IN_WEEK
are constants. Once defined, their values cannot be changed.
When to Use Constants
Use constants when you have values that:
- Are known at compile-time
- Will not change during the program's execution
- Are used multiple times in your code
For example, mathematical constants, configuration values, or magic numbers in algorithms are good candidates for constants.
A Table of Common C# Constants
Here's a handy table of some common constants you might use in C#:
Constant Name | Value | Description |
---|---|---|
Math.PI |
3.14159265358979323846 | The ratio of a circle's circumference to its diameter |
Math.E |
2.7182818284590452354 | The base of natural logarithms |
int.MaxValue |
2,147,483,647 | The maximum value for a 32-bit signed integer |
int.MinValue |
-2,147,483,648 | The minimum value for a 32-bit signed integer |
double.PositiveInfinity |
∞ | Represents positive infinity |
double.NegativeInfinity |
-∞ | Represents negative infinity |
string.Empty |
"" | An empty string |
Заключение
Поздравляю! Вы только что сделали свои первые шаги в мир констант и литералов в C#. Помните, это фундаментальные строительные блоки ваших программ, поэтому хорошее понимание их поможет вам succeed в вашем пути программирования.
Пока вы продолжаете учиться и расти, вы найдете себя, используя эти концепции все больше и больше. Не бойтесь экспериментировать - лучший способ учиться - это делать!
Продолжайте программировать, оставайтесь любопытными и помните: в мире программирования вы - константа, а ваше знание - это постоянно растущая переменная. Счастливого кодирования!
Credits: Image by storyset