Trang chủ Liên hệ

Bài 5 C# cơ bản - Kiểu dữ liệu trong C#

CÔNG TY TNHH THIẾT BỊ ĐO LƯỜNG VÀ ĐIỀU KHIỂN 02/02/2023

Nội dung

Để đọc hiểu bài này tốt nhất các bạn nên có kiến thức cơ bản về các phần:

 Trong bài học này, chúng ta sẽ cùng tìm hiểu các vấn đề:

Kiểu dữ liệu là gì? Tại sao phải có kiểu dữ liệu?

Định nghĩa

Kiểu dữ liệu được định nghĩa như sau:

Tại sao phải có kiểu dữ liệu?

Phân loại kiểu dữ liệu và ý nghĩa của từng kiểu dữ liệu

Trong C#, kiểu dữ liệu được chia thành 2 tập hợp kiểu dữ liệu chính:

Mỗi tập hợp kiểu dữ liệu trên lại phân thành 2 loại:

Kiểu dữ liệu giá trị (value):

Một biến khi khai báo kiểu dữ liệu giá trị thì vùng nhớ của biến đó sẽ chứa giá trị của dữ liệu và được lưu trữ trong bộ nhớ Stack.

Một số kiểu dữ liệu thuộc kiểu giá trị: bool, byte, char, decimal, double, enum, float, int, long, sbyte, short, struct, uint, ulong, ushort. (các kiểu dữ liệu này sẽ được trình bày ngay sau đây)

Kiểu dữ liệu tham chiếu (reference):

Một biến khi khai báo kiểu dữ liệu tham chiếu thì vùng nhớ của biến đó chỉ chứa địa chỉ của đối tượng dữ liệu và lưu trong bộ nhớ Stack.

Đối tượng dữ liệu thực sự được lưu trong bộ nhớ Heap.

Một số kiểu dữ liệu thuộc kiểu tham chiếu: object, dynamic, string và tất cả các kiểu dữ liệu do người dùng định nghĩa. (sẽ được trình bày ở những bài sau).

Hình ảnh trên minh họa cho kiểu dữ liệu giá trị và kiểu dữ liệu tham chiếu: (đây chỉ là hình ảnh mang tính chất minh họa cho các bạn hiểu về cách lưu trữ của )

Bộ nhớ Stack và bộ nhớ Heap: Cả hai đều là bộ nhớ trên RAM nhưng cách tổ chức, quản lý dữ liệu cũng như sử dụng thì rất khác nhau:

Stack:

Heap:

Trong phạm vi bài học hôm nay chúng ta chỉ tìm hiểu qua các kiểu dữ liệu dựng sẵn cơ bản những kiểu dữ liệu còn lại chúng ta sẽ tìm hiểu trong các bài học sau. Ý nghĩa của một số kiểu dữ liệu cơ bản:

Nhóm

Kiểu dữ liệu

Kích thước

(bytes)

Ý nghĩa

Kiểu số nguyên

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ừ đến 18,446,744,073,709,551,615

Kiểu ký tự

char

2

Chứa một ký tự Unicode

Kiểu logic

bool

1

Chứa 1 trong 2 giá trị logic là true hoặc false

Kiểu số thực

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

Một số lưu ý khi sử dụng các kiểu dữ liệu trên:

Khác với những kiểu dữ liệu trên, string là kiểu dữ liệu tham chiếu và dùng để lưu chuỗi ký tự. Trong phạm vi bài học hôm nay chúng ta chỉ tìm hiểu qua các kiểu dữ liệu dựng sẵn cơ bản những kiểu dữ liệu còn lại chúng ta sẽ tìm hiểu trong các bài học sau.

Ý nghĩa của một số kiểu dữ liệu cơ bản:

Ví dụ chương trình sử dụng kiểu dữ liệu

Ví dụ : Một số thao tác liên quan đến biến và kiểu dữ liệu.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Bai_05_01
{
    class Program
    {
        static void Main(string[] args)
        {
            byte BienByte = 3;
            short BienShort = 9;
            int BienInt = 10;
            long BienLong = 0;

            BienLong = BienByte; //gan dc vi bien long chua du lieu lon hon
            Console.WriteLine("BienLong = {0}", BienLong);
            BienLong = BienInt;
            Console.WriteLine("BienLong = {0}", BienLong);
            Console.ReadKey();
        }
    }
}

Kết luận

Nội dung bài này giúp các bạn nắm được:

Bài học sau chúng ta sẽ cùng tìm hiểu một khái niệm tiếp theo đó là TOÁN TỬ TRONG C#.

Bài viết liên quan