C# - Constants and Literals: A Beginner's Guide

Xin chào, các bạn học lập trình! Hôm nay, chúng ta sẽ cùng tìm hiểu về thế giới của các hằng số vàliterals trong C#. Đừng lo lắng nếu những术语 này听起来 có vẻ đáng sợ - vào cuối bài hướng dẫn này, bạn sẽ sử dụng chúng như một chuyên gia!

C# - Constants

What are Constants and Literals?

Trước khi chúng ta đi vào chi tiết, hãy hiểu hằng số và literals là gì. Hãy tưởng tượng hằng số như những biến đặc biệt mà không thay đổi giá trị của chúng sau khi được đặt. Các literals, mặt khác, là những giá trị thực tế mà chúng ta sử dụng trong mã của mình.

A Real-World Analogy

Hãy tưởng tượng bạn có một cốc yêu thích. Cốc đó giống như một hằng số - nó không thay đổi. Cà phê bạn đổ vào cốc mỗi buổi sáng giống như một literal - đó là giá trị thực tế bạn đang làm việc với.

Bây giờ, hãy cùng khám phá các loại literals khác nhau trong C#!

Integer Literals

Các literals số nguyên là những số nguyên không có dấu phẩy thập phân. Trong C#, chúng ta có thể biểu diễn chúng theo nhiều cách khác nhau.

Decimal (Base 10) Literals

Đây là những con số chúng ta sử dụng trong cuộc sống hàng ngày.

int myAge = 25;
long worldPopulation = 7800000000;

Trong ví dụ này, 257800000000 là các literals số nguyên.

Hexadecimal (Base 16) Literals

Các số hexadecimal bắt đầu bằng 0x hoặc 0X.

int hexValue = 0x1A; // Equivalent to decimal 26

Ở đây, 0x1A là một literal hexadecimal.

Binary (Base 2) Literals

Các số binary bắt đầu bằng 0b hoặc 0B.

int binaryValue = 0b1010; // Equivalent to decimal 10

Trong trường hợp này, 0b1010 là một literal binary.

Floating-point Literals

Các literals số động là những số có dấu phẩy thập phân.

float pi = 3.14f;
double avogadroNumber = 6.022e23;
decimal bankBalance = 1234.56m;

Trong các ví dụ này:

  • 3.14f là một literal float (lưu ý phần sau 'f')
  • 6.022e23 là một literal double trong ký hiệu khoa học
  • 1234.56m là một literal decimal (lưu ý phần sau 'm')

Character Constants

Các hằng số ký tự đại diện cho một ký tự Unicode duy nhất và được bao quanh bởi các dấu的单引号.

char grade = 'A';
char newline = '\n';

Ở đây, 'A''\n' là các hằng số ký tự. The \n là một chuỗi escape đặc biệt đại diện cho một ký tự mới dòng.

String Literals

Các literals chuỗi là các chuỗi ký tự được bao quanh bởi các dấu kép.

string greeting = "Hello, World!";
string path = @"C:\Users\YourName\Documents";

Trong các ví dụ này:

  • "Hello, World!" là một literal chuỗi thông thường
  • @"C:\Users\YourName\Documents" là một literal chuỗi verbatim, nơi các dấu gạch ngang được coi là các ký tự thực tế

Multiline String Literals

C# 11 đã giới thiệu một cách mới để viết các chuỗi đa dòng:

string poem = """
Roses are red,
Violets are blue,
C# is awesome,
And so are you!
""";

Điều này làm cho việc viết các chuỗi đa dòng dễ dàng và dễ đọc hơn!

Defining Constants

Bây giờ chúng ta đã涵盖 các literals, hãy nói về cách định nghĩa các hằng số trong C#.

Để định nghĩa một hằng số, chúng ta sử dụng từ khóa const:

public class MathConstants
{
public const double PI = 3.14159265359;
public const int DAYS_IN_WEEK = 7;
}

Ở đây, PIDAYS_IN_WEEK là các hằng số. Một khi được định nghĩa, giá trị của chúng không thể thay đổi.

When to Use Constants

Sử dụng các hằng số khi bạn có các giá trị:

  1. Được biết tại thời điểm biên dịch
  2. Không thay đổi trong suốt quá trình thực thi của chương trình
  3. Được sử dụng nhiều lần trong mã của bạn

Ví dụ, các hằng số toán học, các giá trị cấu hình, hoặc các số ma thuật trong các thuật toán là những ứng cử viên tốt cho các hằng số.

A Table of Common C# Constants

Dưới đây là bảng các hằng số phổ biến bạn có thể sử dụng trong C#:

Constant Name Value Description
Math.PI 3.14159265358979323846 Tỷ lệ của chu vi đường tròn với đường kính của nó
Math.E 2.7182818284590452354 Cơ số của logarithm tự nhiên
int.MaxValue 2,147,483,647 Giá trị tối đa cho một số nguyên có dấu 32-bit
int.MinValue -2,147,483,648 Giá trị tối thiểu cho một số nguyên có dấu 32-bit
double.PositiveInfinity Đại diện cho vô cực dương
double.NegativeInfinity -∞ Đại diện cho vô cùng âm
string.Empty "" Một chuỗi trống

Conclusion

Chúc mừng! Bạn vừa迈出了进入C#中常数和字面量世界的第一步。 Nhớ rằng, đây là những khối xây dựng cơ bản của các chương trình của bạn, vì vậy việc hiểu chúng tốt sẽ giúp bạn thành công trong hành trình lập trình của mình.

Khi bạn tiếp tục học hỏi và phát triển, bạn sẽ thấy mình sử dụng các khái niệm này ngày càng nhiều. Đừng害怕实验 - cách tốt nhất để học là làm!

Tiếp tục lập mã, 保持好奇心, và hãy nhớ: trong thế giới lập trình, bạn là hằng số, và kiến thức của bạn là biến luôn tăng trưởng. Chúc bạn lập mã vui vẻ!

Credits: Image by storyset