Mục lục:
Định nghĩa - Toán tử Sizeof có nghĩa là gì?
Toán tử Sizeof, trong C #, là toán tử được sử dụng để xác định kích thước (tính bằng byte) của loại không được quản lý không phải là loại tham chiếu.
Trong khi phát triển các ứng dụng liên quan đến cấp phát bộ nhớ động, rất phổ biến để tìm bộ nhớ được phân bổ cho một loại. Sẽ rất không an toàn khi giả định kích thước của một loại và sử dụng giá trị được mã hóa cứng trong ứng dụng, vì điều này có thể phá vỡ ứng dụng khi được chuyển đến các hệ thống khác nhau. Toán tử sizeof được sử dụng trong các trường hợp như vậy để tìm kích thước của kiểu dữ liệu ghép giống như cấu trúc. Tuy nhiên, nó chỉ có thể được sử dụng để tính kích thước byte của các loại giá trị chứ không phải cho các loại tham chiếu do hệ thống bố trí kiểu ảo hóa của khung .NET.
Toán tử sizeof giúp phân bổ bộ nhớ cho các cấu trúc dữ liệu được chuyển từ ứng dụng được quản lý sang mã không được quản lý như Interop, tuần tự hóa tùy chỉnh, v.v. Các toán tử tăng và giảm, hoạt động trên các con trỏ, sử dụng toán tử sizeof bên trong để tăng hoặc giảm địa chỉ chứa trong trong một biến con trỏ theo một giá trị bằng số byte được chiếm bởi loại con trỏ. Toán tử sizeof giúp cải thiện khả năng đọc mã.
Techopedia giải thích Nhà khai thác Sizeof
Toán tử sizeof là toán tử đơn nguyên lấy tham số singe và được sử dụng với từ khóa "sizeof". Ngược lại với C ++, toán tử sizeof là cấu trúc thời gian biên dịch, vì vậy tham số phải là kiểu đóng được biết trong quá trình biên dịch, không phải là biến. Tham số cũng có thể là một enum, một con trỏ hoặc một cấu trúc do người dùng định nghĩa mà không có bất kỳ thuộc tính loại trường hoặc tham chiếu nào. Đối với một số loại được xác định trước, toán tử sizeof trả về một giá trị không đổi, trong khi việc sử dụng nó với các loại còn lại dẫn đến các giá trị dựa trên việc thực hiện.
Ví dụ, khi toán tử sizeof được thực thi với số nguyên (int) làm tham số, nó luôn trả về số bốn để chỉ ra rằng một biến kiểu số nguyên chiếm bốn byte bộ nhớ.
Khi toán tử sizeof được áp dụng cho toán hạng kiểu cấu trúc, nó sẽ tìm nạp tổng số byte bị chiếm bởi một cấu trúc, bao gồm các byte đệm được sử dụng để căn chỉnh bên trong. Các hướng dẫn cần tuân theo trong khi sử dụng toán tử sizeof với struct bao gồm:- Nó nên được gọi trong một khối không an toàn
- Biến struct không được chứa thành viên của kiểu tham chiếu
- Cấu trúc không được là loại giá trị chung




