Kiểu dữ liệu trong C#



Các biến trong C# được phân chia thành các kiểu sau:

  • Kiểu giá trị (Value type)
  • Kiểu tham chiếu (Reference type)
  • Kiểu con trỏ (Pointer type)

Kiểu giá trị trong C#

Các biến kiểu giá trị có thể được gán một giá trị một cách trực tiếp. Chúng được kế thừa từ lớp System.ValueType.

Kiểu giá trị trực tiếp chứa dữ liệu. Một số ví dụ là int, char, và float, tương ứng giữ số nguyên, chữ cái, và số thực. Khi bạn khai báo một kiểu int, 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:

Kiểu Biểu diễn Dãy giá trị Giá trị mặc định
bool Giá trị Boolean True hoặc False False
byte Kiểu unsigned integer (8 bit) 0 tới 255 0
char Kiểu Unicode character (16 bit) U +0000 tới U +ffff '\0'
decimal Kiểu thập phân (128 bit) (-7.9 x 1028 tới 7.9 x 1028) / 100 to 28 0.0M
double Kiểu double (64 bit) (+/-)5.0 x 10-324 tới (+/-)1.7 x 10308 0.0D
float Kiểu float (32 bit) -3.4 x 1038 tới + 3.4 x 1038 0.0F
int Kiểu integer (32 bit) -2,147,483,648 tới 2,147,483,647 0
long Kiểu signed integer (64 bit) -9,223,372,036,854,775,808 tới 9,223,372,036,854,775,807 0L
sbyte Kiểu signed integer (8 bit) -128 tới 127 0
short Kiểu signed integer (16 bit) -32,768 tới 32,767 0
uint Kiểu unsigned integer (32 bit) 0 tới 4,294,967,295 0
ulong Kiểu unsigned integer (64 bit) 0 tới 18,446,744,073,709,551,615 0
ushort Kiểu unsigned integer (16 bit) 0 tới 65,535 0
Quảng cáo

Từ khóa sizeof trong C#

Để lấy kích cỡ chính xác của một kiểu hoặc một biến trên một nền tảng cụ thể, bạn có thể sử dụng phương thức sizeof. Biểu thức sizeof(type) hiển thị kích cỡ của đối tượng hoặc kiểu bằng giá trị byte. Ví dụ dưới đây để lấy kích cỡ của kiểu int trên bất kỳ máy tính:

using System;

namespace VietJackCsharp
{
    class TestCsharp
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Tu khoa sizeof trong C#");
            Console.WriteLine("-------------------------");
            
            Console.WriteLine("Kich co cua kieu du lieu int la: {0}", sizeof(int));
            Console.WriteLine("Kich co cua kieu du lieu float la: {0}", sizeof(float));
            Console.WriteLine("Kich co cua kieu du lieu double la: {0}", sizeof(double));
            Console.WriteLine("Kich co cua kieu du lieu char la: {0}", sizeof(char));
            Console.ReadLine();

            Console.ReadKey();
        }
    }
}

Biên dịch và chạy chương trình C# trên sẽ cho kết quả sau:

 trong C#
Quảng cáo

Kiểu tham chiếu trong C#

Kiểu tham chiếu không chứa dữ liệu thực sự được lưu giữ trong một biến, nhưng chúng chứa một tham chiếu tới các biến.

Nói cách khác, chúng tham chiếu tới một vị trí bộ nhớ. Việc sử dụng nhiều biến, thì kiểu tham chiếu có thể tham chiếu tới tới một vị trí bộ nhớ. Nếu dữ liệu trong vị trí bộ nhớ bị thay đổi bởi một trong số các biến, thì biến khác tự động phản ánh sự thay đổi về giá trị này. Ví dụ các kiểu tham chiếu có sẵn trong C# là: object, dynamic,string.

Kiểu object trong C#

Kiểu object là lớp cơ sở cơ bản cho tất cả kiểu dữ liệu trong C# Common Type System (CTS). Object là một alias cho lớp System.Object. Các kiểu object có thể được gán giá trị của bất kỳ kiểu, kiểu giá trị, kiểu tham chiếu, kiểu tự định nghĩa (user-defined) khác. Tuy nhiên, trước khi gán các giá trị, nó cần một sự chuyển đổi kiểu.

Khi một kiểu giá trị được chuyển đổi thành kiểu object, nó được gọi là boxing và ngược lại, khi một kiểu object được chuyển đổi thành kiểu giá trị, nó được gọi là unboxing.

object obj;
obj = 100; // day la vi du boxing

Kiểu Dynamic trong C#

Bạn có thể lưu giữ bất kỳ kiểu giá trị nào trong biến kiểu dữ liệu dynamic. Việc kiểm tra các kiểu biến này diễn ra tại run time.

Cú pháp để khai báo một kiểu dynamic trong C# là:

dynamic <tên_biến> = giá_trị;

Ví dụ

dynamic d = 20;

Kiểu dynamic là tương tự với kiểu object, ngoại trừ việc kiểm tra cho các biến kiểu object diễn ra tại compile time, trong khi việc kiểm tra các biến kiểu dynamic diễn ra tại run time.

Kiểu string trong C#

Kiểu string trong C# cho phép bạn gán bất kỳ giá trị chuỗi nào cho một biến. Kiểu string là một alias cho lớp System.String. Nó kế thừa từ kiểu object. Giá trị cho một kiểu string có thể được gán bởi sử dụng các hằng chuỗi trong hai mẫu: quoted và @quoted.

Ví dụ:

String str = "Hoc C# co ban va nang cao tai VietJack";

Và một hằng chuỗi @quoted trông như sau:

@"VietJack Team";

Các kiểu tự định nghĩa (user-defined) trong C# là: Class, Interface, hoặc Delegate. Chúng ta sẽ bàn về các kiểu này trong các chương sau.

Quảng cáo

Kiểu con trỏ trong C#

Các biến kiểu con trỏ lưu giữ địa chỉ bộ nhớ của kiểu khác. Các con trỏ trong C# có khả năng như con trỏ trong C hoặc C++.

Cú pháp để khai báo một kiểu con trỏ trong C# là:

type* identifier;

Ví dụ:

char* cptr;
int* iptr;

Chúng ta sẽ thảo luận về kiểu con trỏ ở chương: Unsafe Code trong C#.

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập doanh nghiệp với Java. Khóa học có giá chỉ 400K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp chị Thu, trợ lý anh Tuyền để hỗ trợ thanh toán qua mã QR ngân hàng Việt Nam, fb: https://www.facebook.com/Thule.59

Anh Tuyền, tác giả khóa học, là cựu sinh viên chương trình đào tạo kĩ sư tài năng của đại học Bách Khoa Hà Nội với hơn 5 năm kinh nghiệm đi làm thực tế doanh nghiệp và cũng là Founder website vietjack.com, web giáo dục phổ biến nhất Việt Nam hiện tại (năm 2024). Java cũng là ngôn ngữ lập trình dễ đi xin việc nhất hiện tại, với mức lương cao, hãy nâng cao kiến thức IT của bản thân mình vì một Việt Nam giàu mạnh.

Loạt bài hướng dẫn của chúng tôi dựa một phần trên nguồn tài liệu của: Tutorialspoint.com




Tài liệu giáo viên