Tìm hiểu về Common Type System (CTS) trong .NET Framework

Tìm hiểu về Common Type System (CTS) trong .NET Framework

Common Type System là một phần nền tảng của .NET Framework’s Common Language Runtime (CLR). Nó định nghĩa các kiểu dữ liệu cơ bản để các ngôn ngữ khác nhau như VB.NET và C# có thể cùng sử dụng qua lại các kiểu dữ liệu.

Thành phần của CTS gồm có kiểu tham chiếu (reference) và kiểu giá trị (value). Chú ý là tất cả các kiểu dữ liệu này đều được thừa hưởng từ lớp đối tượng cơ sở Object.

Kiểu tham chiếu gồm có các kiểu: Class, Interface, Array, String và Delegate. Kiểu giá trị thì gồm các kiểu còn lại như: byte, int, char, structure…

Hình minh họa các kiểu dữ liệu của CTS:

Tìm hiểu về Common Type System (CTS) trong .NET Framework

Sự khác nhau của kiểu tham chiếu và kiểu giá trị của CTS là mỗi loại được định vị trong bộ nhớ như thế nào. Trong managed code (chưa hiểu lắm về từ này), giá trị có thể được xác định trong bộ nhớ trên một stack được quản lí bởi CLR hoặc một heap. Các biến mà được xác định trên stack được tạo ra khi hàm chứa nó được gọi hoặc khi chương trình chạy tạo ra, và được giải phóng một cách tự động khi hàm kết thúc. Còn các biến xác định trên heap thì không thể tự được giải phóng mà phải được một tiến trình gọi là garbage collector giải phóng.

Hình minh họa:
chappell5fig02[1]

Có trường hợp mà một thể hiện của một kiểu giá trị cần được chuyển sang kiểu tham chiếu. Trong trường hợp này thì kiểu giá trị có thể được chuyển về kiểu tham chiếu qua một quá trình gọi là boxing. Khi một kiểu quá trị được boxed, một vùng lưu trữ được xác định trên heap và giá trị của thể hiện (instance) đó được copy sang qua heap. Tham chiếu đến vùng này được đặt trên stack. Một boxed value là một đối tượng. và có thể được chuyển đổi về kiểu ban đầu bằng một quá trình gọi là unboxing.

 

Bạn thấy bài viết này như thế nào?: 
Average: 9 (1 vote)
Ảnh của Binh Tran Thanh

Drupal Consultant

Started my career as a drupal8 developer in EM Solutions . I love learning Web technologies like HTML, CSS, PHP, Jquery Ajax and Drupal backend . Currently working as a drupal backend developer.

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Giới thiệu tính năng Drupal Commerce MailChimp

Giới thiệu tính năng Drupal Commerce MailChimp

This article describes the main features of the Commerce MailChimp module. The module integrates Drupal Commerce, MailChimp module and MailChimp’s eCommerce360 feature.

Hướng dẫn chèn lời bình vào văn bản word

Hướng dẫn chèn lời bình vào văn bản word

Sử dụng các nút trên thanh công cụ Reviewing để xác nhận hay hủy bỏ quá trình Track changes và để xóa các Comments (câu bình luận).

Tên miền .vn của Việt Nam hơn gì tên miền .com?

Tên miền .vn của Việt Nam hơn gì tên miền .com?

Trong vài ngày gần đây, một số tờ báo đã thông tin về một loạt dự án bất động sản (BĐS) bị mất thương hiệu tên miền.com và đang phải xúc tiến mua lại. Thực chất câu chuyện có nghiêm trọng đến như vậy?

Công ty diệt chuột T&C

 

Diet con trung