Kiểu dữ liệu xác định loại giá trị mà biến có thể chứa và các thao tác có thể thực hiện trên biến đó.
Có 2 cách hay sử dụng để khai báo biến trong C#
Khai báo và khởi tạo giá trị cho biến
<kiểu dữ liệu> <tên biến> = <giá trị khởi tạo>;
Hoặc nếu chưa cần gán giá trị ban đầu
<kiểu dữ liệu> <tên biến>;
int age; // Khai báo một biến kiểu int với tên là age
age = 25; // Gán giá trị 25 cho biến age
// Hoặc bạn có thể khai báo và khởi tạo biến cùng một lúc:
string name = "Nhật"; // Khai báo và khởi tạo biến kiểu string
int age = 25; // Biến kiểu số nguyên
double pi = 3.14; // Biến kiểu số thực
string name = "Nhật"; // Biến kiểu chuỗi
bool isActive = true; // Biến kiểu Boolean
C# có nhiều loại kiểu dữ liệu, được phân thành các loại chính sau đây:
int - kiểu số nguyên
double - kiểu số thập phân
char - kiểu ký tự (1 ký tự duy nhất)
string - chứa nhiều ký tự
bool - chứa kiểu đúng / sai
byte - lưu số nhỏ, byte[] dùng để lưu file vào CSDL, hay lấy file xuống.
object kiểu không xác định.
int: Kiểu số nguyên (không có phần thập phân), dung lượng 4 byte.
int age = 25;
double: Kiểu số thực (dùng để lưu trữ các giá trị có phần thập phân), dung lượng 8 byte.
double price = 19.99;
float: Kiểu số thực với độ chính xác thấp hơn double, dung lượng 4 byte. Cần thêm chữ f khi khởi tạo.
float temperature = 36.5f;
long: Kiểu số nguyên dài, dung lượng 8 byte.
long distance = 1000000000L;
short: Kiểu số nguyên ngắn, dung lượng 2 byte.
short level = 10;
byte: Kiểu số nguyên không dấu, dung lượng 1 byte, chỉ có giá trị từ 0 đến 255.
byte ageInDays = 100;
decimal: Kiểu số thực với độ chính xác cao, dung lượng 16 byte, thích hợp cho tính toán tài chính.
decimal balance = 1000.75m;
char: Kiểu ký tự, lưu trữ một ký tự duy nhất (2 byte).
char kt = 'A';
string: Kiểu chuỗi, dùng để lưu trữ các chuỗi văn bản. Dung lượng phụ thuộc vào độ dài chuỗi.
string name = "lập trình iif.vn";
bool: Kiểu Boolean, lưu trữ giá trị đúng (true) hoặc sai (false).
bool isActive = true;
C# hỗ trợ kiểu dữ liệu Nullable, cho phép một biến có thể nhận giá trị null (không có giá trị). Điều này rất hữu ích khi bạn cần một giá trị chưa được xác định hoặc không có giá trị hợp lệ.
Cú pháp: type? (ví dụ: int?, double?)
int? age = null;
Các kiểu dữ liệu tham chiếu không lưu trữ dữ liệu trực tiếp, thay vào đó, chúng lưu trữ một tham chiếu đến dữ liệu. Các kiểu dữ liệu tham chiếu bao gồm:
string: Mặc dù string được xem như một kiểu giá trị trong C#, nhưng nó cũng là một kiểu tham chiếu.
Array: Mảng.
Class: Lớp.
Object: Kiểu dữ liệu cơ bản nhất trong C#, tất cả các kiểu dữ liệu khác đều kế thừa từ object.
Ví dụ mảng:
int[] numbers = new int[] { 1, 2, 3, 4 };
Bạn có thể khai báo nhiều biến cùng kiểu trên một dòng:
int a = 10, b = 20, c = 30;
Hoặc khai báo mà chưa gán giá trị:
int x, y, z;
x = 5;
y = 10;
z = x + y;
Trong C#, từ khóa var cho phép khai báo biến mà không cần chỉ rõ kiểu dữ liệu. Kiểu của biến sẽ được xác định dựa trên giá trị khởi tạo.
var number = 100; // number sẽ là kiểu int
var message = "Xin chào"; // message sẽ là kiểu string
var pi = 3.1415; // pi sẽ là kiểu double
📌 Lưu ý: var bắt buộc phải có giá trị khởi tạo ngay khi khai báo.
Nếu không muốn thay đổi giá trị của biến sau khi gán, dùng const:
const double Pi = 3.14159;
const int MaxValue = 100;
📌 Lưu ý:
const bắt buộc phải gán giá trị ngay khi khai báo.
Không thể gán lại giá trị khác sau này.
Trong C#, các kiểu giá trị như int, double, bool không thể có giá trị null trừ khi khai báo với ?.
int? age = null; // Biến có thể mang giá trị null
double? score = 9.5;
Ví dụ biến Nullable trong C#
Code 1: int diem; thì biến diem có giá trị là số 0
Code 2: int? diem; thì biến diem có giá trị là null
null nghĩa là gì ? null trong C# có nghĩa có không có gì thường được sử dụng để lưu xuống CSDL SQL server,
vậy biến diem là null sẽ khác, là 0 sẽ khác, Null có nghĩa là chưa lưu, 0 có nghĩa là 0 điểm.
📌 Dùng khi làm việc với dữ liệu có thể không có giá trị (như database).
Kiểu khai báo | Cú pháp | Ví dụ |
---|---|---|
Biến thông thường | <kiểu dữ liệu> <tên biến> = <giá trị>; |
int a = 10; |
Khai báo nhiều biến | <kiểu dữ liệu> var1, var2; |
int x, y, z; |
Biến ngầm định (var ) |
var <tên biến> = <giá trị>; |
var name = "Nhật"; |
Hằng số (const ) |
const <kiểu dữ liệu> <tên biến> = <giá trị>; |
const double Pi = 3.14; |
Biến Nullable (? ) |
<kiểu dữ liệu>? <tên biến> = null; |
int? age = null; |
Trong C#, các biến được đặt tên theo những nguyên tắc nhất định để đảm bảo tính dễ hiểu và khả năng duy trì mã nguồn. Dưới đây là các nguyên tắc cơ bản khi đặt tên biến trong C#
Tên biến nên mô tả rõ ràng mục đích hoặc giá trị mà nó lưu trữ. Tránh dùng tên quá chung chung như temp, data, var.
Tên biến không được bắt đầu bằng số. Nó có thể bắt đầu bằng một chữ cái (a-z, A-Z) hoặc dấu gạch dưới (_).
camelCase: Dùng cho tên biến, với chữ cái đầu tiên viết thường và các từ tiếp theo viết hoa. Ví dụ: studentAge, totalAmount.
PascalCase: Thường được dùng cho các tên lớp, phương thức hoặc thuộc tính. Ví dụ: StudentAge, CalculateTotalAmount.
Tên biến không được chứa các ký tự đặc biệt như @, #, $, &, vv (ngoại trừ dấu gạch dưới _ nếu cần).
C# có một số từ khóa bảo vệ (keywords) như int, class, public, vv, không thể dùng làm tên biến. Tuy nhiên, bạn có thể dùng dấu @ trước từ khóa để biến nó thành tên hợp lệ, ví dụ: @class, @int.
Tìm kiếm:
Trong C#, biến là một vùng nhớ được cấp phát trong bộ nhớ để lưu trữ dữ liệu, và mỗi biến cần được khai báo với một kiểu dữ liệu nhất định