VI : Kiểu dữ liệu trong C#

Ngày đăng: 2023-04-30 18:57:33

Mục lục

1. Kiểu giá trị - value type

Các biến thuộc kiểu này có thể được gán giá trị một cách trực tiếp, đây là kiểu dữ liệu được ngôn ngữ cung cấp. Nó kế thừa từ class System.ValueType.

Một biến khi khai báo kiểu dữ liệu thì hệ thống sẽ cấp phát bộ nhớ, giá trị thì vùng nhớ của biến đó sẽ chứa giá trị của dữ liệu. Ví dụ như khi chúng ta khai báo một kiểu float thì hệ thống sẽ cấp cho ta vùng nhớ có giá trị 4 bytes và được lưu trữ trên bộ nhớ Stack.

Bảng dưới đây liệt kê danh sách các kiểu dữ liệu có sẵn trong C#:

Kiểu số nguyên

Kiểu dữ liệu
Kích thước (bytes)
Ý nghĩa
byte
1
Số nguyên dương không dấu có giá trị
từ 0 đến 255
sbyte
1
Số nguyên có dấu có giá trị
từ -128 đến 127
short
2
Số nguyên có dấu có giá trị
từ -32,768 đến 32,767
ushort
2
Số nguyên không dấu có giá trị
từ 0 đến 65,535
int
4
Số nguyên có dấu có giá trị
từ -2,147,483,647 đến  2,147,483,647
uint
4
Số nguyên không dấu có giá trị
từ 0 đến 4,294,967,295
long
8
Số nguyên có dấu có giá trị
từ -9,223,370,036,854,775,808 đến 9,223,370,036,854,775,807
ulong
8
Số nguyên không dấu có giá trị
từ 0 đến 18,446,744,073,709,551,615

Kiểu ký tự

Kiểu dữ liệu Kích thước (bytes) Ý nghĩa
char 2 Chứa một ký tự Unicode

Kiểu logic

Kiểu dữ liệu
Kích thước (bytes)
Ý nghĩa
bool
1
Chứa 1 trong 2 giá trị logic là true hoặc false

Kiểu số thực

Kiểu dữ liệu
Kích thước (bytes)
Ý nghĩa
float
4
Kiểu số thực dấu chấm động có giá trị dao động
từ 3.4E – 38 đến 3.4E + 38, với 7 chữ số có nghĩa
double
8
Kiểu số thực dấu chấm động có giá trị dao động
từ 1.7E – 308 đến 1.7E + 308, với 15, 16 chữ số có nghĩa
decimal
8
Có độ chính xác đến 28 con số và giá trị thập phân, được dùng trong tính toán tài chính

Từ khóa sizeof()

Trong trường hợp bạn quên giá trị của từng loại kiểu dữ liệu, bạn có thể sử dụng biểu thức sizeof(type) để lấy kích cở chính xác của một biểu thức hoặc một biến nào đó. Giá trị trả về của sizeof() là kích cỡ của đối tượng hoặc kiểu bằng giá trị byte.

Ví dụ

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace freetuts

{

    class freetuts

    {

        static void Main(string[] args)

        {

            Console.WriteLine("vi du ve khoa sizeof trong C#");

            Console.WriteLine("++++++++++++++++++++++++++++++");

            Console.WriteLine("Kich co kieu int la: {0}", sizeof(int));

            Console.WriteLine("Kich co kieu float la: {0}", sizeof(float));

            Console.WriteLine("Kich co kieu double la: {0}", sizeof(double));

            Console.WriteLine("Kich co kieu char la: {0}", sizeof(char));

            Console.ReadKey();

        }

    }

}

Khi thực thi chương trình trên, máy sẽ trả về kết quả:

2. Kiểu tham chiếu - reference type

Nếu biến khai báo kiểu dữ liệu tham chiếu thì vùng nhớ của nó không chứa dữ liệu thực sự được lưu trong một biến mà vùng nhớ của nó chỉ chứa địa chỉ của đối tượng dữ liệu. Hay chúng tham chiếu đến vị trí nào đó trong bộ nhớ tùy theo địa chỉ đã được lưu. Giả sử dữ liệu trong vùng nhớ thay đổi bởi một biến nào đó, thì các dữ liệu của biến khác cũng thay đổi tự động giá trị của mình.

Ta có một số kiểu dữ liệu thuộc kiểu tham chiếu có sẵn trong C# như: object, dynamic, string... Và tất cả các kiểu dữ liệu do người dùng định nghĩa đều là kiểu dữ liệu tham chiếu.

Kiểu object

Đây là kiểu dữ liệu cơ bản nhất của tất cả các kiểu dữ liệu trong .NET. Mọi kiểu dữ liệu đều được kế thừa từ System.Object nên kiểu object có thể gán mọi giá trị của các kiểu dữ liệu khác như kiểu tham chiếu, kiểu giá trị hoặc kiểu do người dùng tự định nghĩa,... Tuy nhiên trước khi gán giá trị nó cần được chuyển kiểu.

Ví dụ

object obj;

obj = 123;

 // chúng ta đã chuyển kiểu dữ liệu object sang kiểu giá trị.

Kiểu dynamic

Đây là một kiểu dữ liệu mới được đưa vào trong C# 4.0. Ta có lưu mọi kiểu giá trị trong biến kiểu dynamic. Đối tượng thuộc kiểu này sẽ không xác định được kiểu dữ liệu cho đến khi chương trình được thực thi.

Ta khai báo kiểu dynamic như khai báo biến bình thường:

Cú pháp

dynamic <tên biến>;

//hoặc

dynamic <tên biến> = <giá trị>;

Kiểu string

Đây là một kiểu dữ liệu cho phép gán chuỗi vào biến. Nó được kế thừa từ kiểu object, có hai cách gán giá trị sau:

string str = "thuanhoaonline.com";

//hoặc có thể dùng cách dưới đây, với cách này thì bạn có thể dữ nguyên chuỗi truyền vào

//kể cả chuỗi có nhiều dòng.

string str =  @"thuanhoaonline.com hoc lap trinh mien phi va chat luong";

Ngoài ra còn có các kiểu dữ liệu tham chiếu do người dùng tự định nghĩa như classinterface hoặc delegate mà chúng ta sẽ tìm hiểu sau.

3. Kiểu con trỏ - pointer type.

Biến kiểu con trỏ lưu địa chỉ bộ nhớ của kiểu khác. Con trỏ trong C# có cùng khả năng như con trỏ trong C hoặc C++. Cú pháp để khai báo biến kiểu con trỏ là: type*identifier.

Ví dụ

char*abc;

int*xyz;

 

Về bài trước...

                                  Bài tiếp theo...

 


Tài liệu lập trình C#

Bài viết trong cùng chuyên mục

Góc games giải trí (chơi trực tiếp trên web) Đăng nhập (chơi có thưởng)



Cờ caro


Butterfly


Lật hình (luyện trí nhớ)

Cờ tướng ONLINE

Xếp hình

Ghép hình

15_PUZZLE

Kill ghosts

Banchim

Planet Defense

Tower game

Bắn bóng

Plapy Bird (NH.Đông)

Vượt chướng ngại vật

Vẽ hình cứu người

Game Phases

Game vui chơi có thưởng

Game bắn cá



0379136392

Thông tin liên hệ: Lê Văn Thuyên - ĐT: 0379136392 ; Gmail: lethuyen0379136392@gmail.com

Comment

 +   Lê Văn Thuyên-0379136392:Cảm ơn quý vị và các bạn đã vào Website của Lê Thuyên! Lê thuyên rất mong nhận được sự góp ý của quý vị và các bạn cho sự phát triển của website này. Xin chân thành cảm ơn!

Trả lời

 *   Dũng Trung-090567448:Lê Văn Thuyên0379136392--->Ok.Anh!

Trả lời

 *   Bé Nguyễn-benguyen@gmail,com:Lê Văn Thuyên0379136392--->Good job!

Trả lời

 +   -:

Trả lời

 +   -:

Trả lời

7342