Các biến trong C #, được phân loại thành các loại sau:
- Các loại giá trị
- Các loại tham chiếu
- Các loại con trỏ
Loại giá trị
Mục lục
Các biến kiểu giá trị có thể được gán giá trị trực tiếp. Chúng có nguồn gốc từ lớp System.ValueType.
Các loại giá trị trực tiếp chứa dữ liệu. Một số ví dụ int, char và float, nơi lưu trữ số, bảng chữ cái và số dấu phẩy động, tương ứng. Khi bạn khai báo một int gõ, hệ thống cấp phát bộ nhớ để lưu giá trị.
Bảng sau liệt kê các kiểu giá trị có sẵn trong C # 2010 –
| Loại hình | Đại diện | Phạm vi | Giá trị mặc định |
|---|---|---|---|
| bool | Giá trị boolean | Đúng hay sai | Sai |
| byte | Số nguyên không dấu 8 bit | 0 đến 255 | 0 |
| char | Ký tự Unicode 16 bit | U +0000 đến U + ffff | ‘\ 0’ |
| số thập phân | Các giá trị thập phân chính xác 128 bit với 28-29 chữ số có nghĩa | (-7,9 x 1028 đến 7,9 x 1028) / 100 đến 28 | 0,0 triệu |
| kép | Loại dấu chấm động chính xác kép 64 bit | (+/-) 5,0 x 10-324 thành (+/-) 1,7 x 10308 | 0.0D |
| trôi nổi | Loại dấu phẩy động chính xác đơn 32 bit | -3,4 x 1038 đến + 3,4 x 1038 | 0,0F |
| int | Kiểu số nguyên có dấu 32 bit | -2.147.483.648 đến 2.147.483.647 | 0 |
| Dài | Kiểu số nguyên có dấu 64-bit | -9,223,372,036,854,775,808 đến 9,223,372,036,854,775,807 | 0L |
| sbyte | Kiểu số nguyên có dấu 8 bit | -128 đến 127 | 0 |
| ngắn | Kiểu số nguyên có dấu 16 bit | -32,768 đến 32,767 | 0 |
| uint | Kiểu số nguyên không dấu 32 bit | 0 đến 4,294,967,295 | 0 |
| dài | Loại số nguyên không dấu 64-bit | 0 đến 18.446.744.073.709.551.615 | 0 |
| ushort | Kiểu số nguyên không dấu 16 bit | 0 đến 65,535 | 0 |
Để có được kích thước chính xác của một loại hoặc một biến trên một nền tảng cụ thể, bạn có thể sử dụng kích thước phương pháp. Cách diễn đạt sizeof (loại) mang lại kích thước lưu trữ của đối tượng hoặc kiểu tính bằng byte. Sau đây là một ví dụ để có được kích thước của int gõ trên bất kỳ máy nào –
using System;
namespace DataTypeApplication {
class Program {
static void Main(string[] args) {
Console.WriteLine("Size of int: {0}", sizeof(int));
Console.ReadLine();
}
}
}
Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:
Size of int: 4
Loại tham chiếu
Các kiểu tham chiếu không chứa dữ liệu thực tế được lưu trữ trong một biến, nhưng chúng chứa một tham chiếu đến các biến.
Nói cách khác, chúng đề cập đến một vị trí bộ nhớ. Sử dụng nhiều biến, các kiểu tham chiếu có thể tham chiếu đến một vị trí bộ nhớ. Nếu dữ liệu trong vị trí bộ nhớ bị thay đổi bởi một trong các biến, thì biến kia sẽ tự động phản ánh sự thay đổi này về giá trị. Ví dụ của được xây dựng trong các loại tham chiếu là: sự vật, năng động, và sợi dây.
Loại đối tượng
Các Loại đối tượng là lớp cơ sở cuối cùng cho tất cả các kiểu dữ liệu trong C # Common Type System (CTS). Đối tượng là một bí danh cho lớp System.Object. Các kiểu đối tượng có thể được gán giá trị của bất kỳ kiểu nào khác, kiểu giá trị, kiểu tham chiếu, kiểu được xác định trước hoặc do người dùng xác định. Tuy nhiên, trước khi gán giá trị, nó cần chuyển đổi kiểu.
Khi một kiểu giá trị được chuyển đổi thành kiểu đối tượng, nó được gọi là quyền anh và mặt khác, khi một kiểu đối tượng được chuyển đổi thành kiểu giá trị, nó được gọi là mở hộp.
object obj; obj = 100; // this is boxing
Loại động
Bạn có thể lưu trữ bất kỳ loại giá trị nào trong biến kiểu dữ liệu động. Kiểm tra kiểu cho các loại biến này diễn ra tại thời điểm chạy.
Cú pháp để khai báo một kiểu động là:
dynamic <variable_name> = value;
Ví dụ,
dynamic d = 20;
Kiểu động tương tự như kiểu đối tượng ngoại trừ việc kiểm tra kiểu cho các biến kiểu đối tượng diễn ra tại thời điểm biên dịch, trong khi việc kiểm tra kiểu đối với các biến kiểu động diễn ra vào lúc chạy.
Loại chuỗi
Các Loại chuỗi cho phép bạn gán bất kỳ giá trị chuỗi nào cho một biến. Kiểu chuỗi là một bí danh cho lớp System.String. Nó có nguồn gốc từ kiểu đối tượng. Giá trị cho một kiểu chuỗi có thể được gán bằng cách sử dụng các ký tự chuỗi ở hai dạng: được trích dẫn và @ được trích dẫn.
Ví dụ,
String str = "Tutorials Point";
Một chuỗi ký tự @ được trích dẫn trông như sau:
@"Tutorials Point";
Các kiểu tham chiếu do người dùng xác định là: lớp, giao diện hoặc đại biểu. Chúng ta sẽ thảo luận về các loại này trong chương sau.
Loại con trỏ
Các biến kiểu con trỏ lưu trữ địa chỉ bộ nhớ của một kiểu khác. Con trỏ trong C # có cùng khả năng với con trỏ trong C hoặc C ++.
Cú pháp khai báo kiểu con trỏ là:
type* identifier;
Ví dụ,
char* cptr; int* iptr;
Chúng ta sẽ thảo luận về các loại con trỏ trong chương ‘Mã không an toàn’.
