Константы и литералы в C#: руководство для начинающих

Здравствуйте, начинающие программисты! Сегодня мы окунемся в мир констант и литералов в C#. Не волнуйтесь, если эти термины показались вам пугающими - к концу этого учебника вы будете использовать их как профессионал!

C# - Constants

Что такое константы и литералы?

Прежде чем мы перейдем к деталям, давайте поймем, что такое константы и литералы. Представьте константы как особые переменные, которые не изменяют свое значение после установки. Литералы, с другой стороны, это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:

  1. Are known at compile-time
  2. Will not change during the program's execution
  3. 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