datatype identifier;
Trong đó datatype là tên kiểu dữ liệu mà biến đó có thể lưu giữ, identifier là định danh (tên) của biến.
Ví dụ sau khai báo biến có tên là i, lưu giữ được các giá trị số nguyên (int).
int i;
Tuy nhiên, trong C#, lệnh khai báo biến trên mặc dù đúng cú pháp nhưng compiler lại không cho phép bạn dùng ngay biến i trong các biểu thức. C# bắt buộc biến phải được gán giá trị trước khi sử dụng.
Để gán giá trị cho biến bạn dùng phép gán (assignment operator):
i = 10;
Phép gán trong C# đơn giản chỉ là một dấu bằng (=).
Có thể kết hợp cả khai báo biến và gán giá trị vào cùng một lệnh:
int i = 10;
Có thể khai báo và gán giá trị cho nhiều biến cùng kiểu trong cùng một lệnh:
int x = 10, y = 20; // x và y có cùng kiểu int
Nếu các biến khác kiểu, bạn bắt buộc phải khai báo trong các lệnh khác nhau:
int x = 10;
bool y = true; // biến chứa giá trị logic true/false
// lệnh khai báo dưới đây là SAI
int x = 10, bool y = true; // compiler sẽ báo lỗi ở dòng này
Biến cục bộ trong C# được đặt tên theo quy tắc đặt định danh, đồng thời nên tuân thủ quy ước camelCase.
Quy ước camelCase: tên bắt đầu bằng chữ cái thường; nếu tên bao gồm nhiều từ, chữ cái đầu mỗi từ tiếp theo sẽ viết hoa. Ví dụ: camelCase, bigInteger, complexNumber.
Khởi tạo biến trong C#
Trình biên dịch C# bắt buộc mọi biến phải được khởi tạo với một giá trị nào đó trước khi sử dụng trong biểu thức. Đây là một ví dụ về sự chú trọng tới sự an toàn trong C#. Trong khi các ngôn ngữ khác thường chỉ coi việc sử dụng biến mà không gán giá trị trước là một dạng cảnh báo (warning), C# coi đây là một lỗi.
Các bạn có thể gặp các từ khởi tạo (initialize) biến hay gán giá trị (assign) đôi khi được sử dụng lẫn lộn. Trong C#, đối với biến thuộc các kiểu như int, bool thì khởi tạo hay gán là như nhau. Đối với các kiểu dữ liệu tham chiếu (như class sẽ học trong phần lập trình hướng đối tượng), khởi tạo và gán giá trị là các lệnh khác nhau.