Khái niệm
Biến trong c# giống như một chiếc hộp nằm trong bộ nhớ, nó chịu trách nhiệm lưu trữ các dữ liệu. Bạn sẽ có thể đặt tên cho chiếc hộp này và nói cho C# biết rằng dữ liệu trong đó có kiểu gìcú pháp
[code lang="text"]
<data type> <var name> = <values>;
[/code]
Ví dụ đơn giản
[code lang="csharp"]
int age = 25;
string name = "Dev Notes";
[/code]
Có hai nhóm kiểu dữ liệu chính trong C#
int age = 25;
string name = "Dev Notes";
[/code]
Có hai nhóm kiểu dữ liệu chính trong C#
A. Kiểu giá trị
Chứa trực tiếp trong bộ nhớ (stack)
int : số nguyên (4 bytes)
double: số thập phân (8 bytes)
float: số thập phân (4 bytes)
bool: logic (true/ false)
char: một ký tự
struct: cấu trúc, đối tượng đơn lẻ, nhẹ
byte: 1 bytes (0-255) 8bit
short : 2 bytes
long: 8 bytes (số rất lớn)
decimal: 16 byte
Ví dụ:
[code lang="csharp"]
int age = 25;string name = "Dev Notes";
double price = 9.55412;
float point = 2.5f;
bool isPerson = true;
char symbol = 'A';
Car _car = new();
_car.color = "Blue";
_car.speed = 50;
struct Car
{
public string color;
public int speed;
}
byte byte_val = 255;
short short_value = 5000;
short short_value = 5000;
decimal money = 125.5m;
int[] scores = {1,2,3,4,5};
object a = 10;
object b = "Hello";
class Animal
{
}
[/code]
B. Kiểu tham chiếu (Reference Types)
Chứa trong bộ nhớ heap, biến giữ một tham chiếu (giữ địa chỉ đến dữ liệu). Khi bạn copy thì cả hai biến đều tham chiếu đến 1 giá trị. Kích thước lớn
[code lang="csharp"]
string name = "Dev Notes";int[] scores = {1,2,3,4,5};
object a = 10;
object b = "Hello";
class Animal
{
}
[/code]
Cách khai báo biến
Kiểu chuẩn
int a = 10;
Khai báo không khởi tạo
int a;
a = 50;
Khai báo suy luận (tại thời gian biên dịch)
var a = 50;
var b = "hello";
Khi báo suy luận tại thời gian chạy (dùng dynamic)
Constants và Readonly
hằng số:
const double P = 3.14159;
Readonly (set một lần duy nhất tại constructor)
[code lang="csharp"]
class MyClass{
readonly int a;
public MyClass()
{
a = 10;
}
}
[/code]
string? b = null;