Tìm hiểu các kiểu dữ liệu trong C#

02/11/2012
FacebookTwitterDeliciousStumbleuponDiggMyspaceLinkedInZingmegovnlinkhay

Kiểu dữ liệu (data type) là một tập hợp gồm các nhóm loại dữ liệu có cùng đặc tính, cách lưu trữ của dữ liệu và cách thao tác xử lý trên trường dữ liệu đó; nhằm mục đích phân loại các loại dữ liệu. Trong C#, một biến (variable) khi khởi tạo lên đã được chỉ định một kiểu dữ liệu xác định cho nó.

Trong các ngôn ngữ lập trình khác, người ta định nghĩa nhiều loại kiểu dữ liệu khác nhau. Một số kiểu dữ liệu thường gặp ở hầu hết ngôn ngữ lập trình như là byte, integer, character, double, … Ngoài ra, chúng ta còn có một số kiểu dữ liệu hiếm hơn như nvarchar, datetime, money, …

1.Các kiểu dữ liệu trong C#

C# chia thành hai tập hợp kiểu dữ liệu chính:

  • Kiểu xây dựng sẵn (built-in) mà ngôn ngữ cung cấp cho người lập trình
  • Kiểu được người dùng định nghĩa(user-defined) do người lập trình tạo ra.

C# phân tập hợp kiểu dữ liệu này thành hai loại:

  • Kiểu dữ liệu giá trị (value) : Một biến (variable) khi được khai báo với kiểu dữ liệu tham trị thì vùng nhớ của nó sẽ chứa giá trị của dữ liệu.Danh sách kiểu dữ liệu tham trị: bool, byte, char, decimal, double, enum, float, int, long, sbyte, short, struct, uint, ulong, ushort
  • Kiểu dữ liệu tham chiếu (reference) : Khác với kiểu dữ liệu tham trị, kiểu dữ liệu tham chiếu chỉ lưu trữ địa chỉ tham chiếu tới vùng nhớ chứa giá trị thật sự.

Bạn có thể chuyển đổi từ kiểu dữ liệu này sang kiểu dữ liệu khác qua việc boxing và unboxing

Các kiểu dữ liệu xây dựng sẵn

  • object: kiểu dữ liệu cơ bản của tất cả các kiểu khác
  • string: Được sử dụng để lưu trữ những giá trị kiểu chữ cho biến
  • int: Sử dụng để lưu trữ giá trị kiểu số nguyên
  • byte: sử dụng để lưu trữ giá byte
  • float: Sử dụng để lưu trữ giá trị số thực
  • bool: Cho phép một biến lưu trữ giá trị đúng hoặc sai
  • char: Cho phép một biến lưu trữ một ký tự

Ghi chú: Tất cả các kiểu dữ liệu xây dựng sẵn là kiểu dữ liệu giá trị ngoại trừ các đối tượng và chuỗi. Và tất cả các kiểu do người dùng định nghĩa ngoại trừ kiểu struct đều là kiểu dữ liệu tham chiếu. trong bài học này chúng ta sẽ tìm hiểu các kiểu xây dựng sẵn.

2. Biến và Hằng 

2.1. Biến

Một biến là một vùng lưu trữ với một kiểu dữ liệu. Để tạo một biến chúng ta phải khai báo kiểu của biến và gán cho biến một tên duy nhất. Biến có thể được khởi tạo giá trị ngay khi được khai báo, hay nó cũng có thể được gán một giá trị mới vào bất cứ lúc nào trong chương trình.

Các biến trong C# được khai báo theo công thức như sau:

AccessModifier DataType VariableName;

Trong đó:

AccessModifier: xác định ưu tiên truy xuất tới biến

Datatype: định nghĩa kiểu lưu trữ dữ liệu của biến

VariableName: là tên biến

Cấp độ truy xuất tới biến được mô tả như bảng dưới đây

  • public: Truy cập tại bất kỳ nơi đâu
  • protected: Cho phép truy xuất bên trong một lớp nơi biến này được định nghĩa, hoặc từ các lớp con của lớp đó
  • private: Chỉ truy xuất ở bên trong lớp nơi mà biến được định nghĩa.

Ví dụ bạn khai báo một biến kiểu int

int bien1 ;

Bạn có thể khởi gán ngay cho biến đó trong lúc khai báo

int bien1 = 9 ;

hoặc có thể gán giá trị sau khi khai báo như sau:

int bien1 ;

bien1 = 9;

Cách khai báo biến tương ứng với các kiểu dữ liệu:

  • object: object obj = null;
  • string: string str = ”Welcome”;
  • int: int ival = 12;
  • byte: byte val = 12;
  • float: float val = 1.23F;
  • bool: bool val1 = false;
  • bool: bool val2 = true;
  • char: char cval = ’a’;

Ví dụ: sau sẽ minh họa cách sử dụng biến:

using System;
using System.Collections.Generic;
using System.Text;
namespace SuDungBien
    class MinhHoa
    {
        static void Main()
        {
            int bien1 = 9; // khai báo và khởi tạo giá trị cho một biến
            System.Console.WriteLine(“Sau khi khoi tao: bien1 ={0}”, bien1);
            bien1 = 15; // gán giá trị cho biến
            System.Console.WriteLine(“Sau khi gan: bien1 ={0}”, bien1);
            Console.ReadLine();
        }
    }

2.1.1. Từ khóa

Trong cuộc sống, mọi ngôn ngữ đều chứa những từ khóa và những từ này hiểu được bởi người nói ra nó. Điều đó cũng đúng với C#. Từ khóa trong C# là những từ đặc biệt và mang nghĩa đặc biệt chỉ dành riêng cho ngôn ngữ này. Trong VS.net những từ khóa của C# sẽ có màu xanh ra trời. trong ví dụ trên các từ khóa là using, namespace, int

2.1.2. Tên và quy tắc đặt tên trong C#

Mọi sự vật hiện tượng trong cuộc sống đều có tên gọi để phân biệt với nhau và điều đó cũng đúng đối với một chương trình máy tính. Mọi đối tượng của chương trình C# đều có tên. Bạn có thể đặt tên cho biến, cho hàm, cho lớp và cho các namespace. Chú ý rằng C# là ngôn ngữ phân biệt chữ hoa chữ thường. Ví dụ bạn khai báo 2 biến kiểu int

        int bien1;  // và
        int Bien1;

Thì 2 biến này là 2 đối tượng khác nhau.

Khi bạn đặt tên cần chú ý đến các nguyên tắc sau:

  • Kí tự đầu tiên phải là một chữ cái (có thể là chữ hoa hoặc thường) hoặc là dấu gạch dưới (/)
  • Kí tự tiếp theo có thể lấy bất kì.
  • Tên không được trùng với từ khóa.

2.1.3. Cách viết chú thích

Chú thích trong chương trình C# là những phần text làm rõ hơn cho phần code của lập trình viên. Chú thích không được đọc bởi trình biên dịch, nó không liên quan gì đến chương trình của bạn

Có 2 cách viết chú thích trong C#:
Nếu chú thích trên một dòng bạn đặt phần chú thích sau 2 dấu sổ chéo

        // chú thích

Nếu chú thích trên nhiều dòng bạn đặt phần chú thích trong cặp /* */ cụ thể

/* chú thích*/

2.2. Hằng

Hằng cũng là một biến nhưng giá trị của hằng không thay đổi. Biến là công cụ rất mạnh, tuy nhiên khi làm việc với một giá trị được định nghĩa là không thay đổi, ta phải đảm bảo giá trị của nó không được thay đổi trong suốt chương trình.

Ví dụ, khi lập một chương trình thí nghiệm hóa học liên quan đến nhiệt độ sôi, hay nhiệt độ đông của nước, chương trình cần khai báo hai biến là DoSoi và DoDong, nhưng không cho phép giá trị của hai biến này bị thay đổi hay bị gán.

Để ngăn ngừa việc gán giá trị khác, ta phải sử dụng biến kiểu hằng.

Hằng được phân thành ba loại:

  • giá trị hằng (literal),
  • biểu tượng hằng (symbolic constants),
  • kiểu liệu kê (enumerations).

Chúng ta sẽ tìm hiểu về kiểu liệt kê ở bài học sau.

Giá trị hằng

Ta có một câu lệnh gán như sau: x = 100;
Giá trị 100 là giá trị hằng. Giá trị của 100 luôn là 100. Ta không thể gán giá trị khác cho 100 được.

Biểu tượng hằng

Một biểu tượng hằng phải được khởi tạo khi khai báo, và chỉ khởi tạo duy nhất một lần trong suốt chương trình và không được thay đổi. Ví dụ:

        const int DoSoi = 100;

Trong khai báo trên, 32 là một hằng số và DoSoi là một biểu tượng hằng có kiểu nguyên.

Ví dụ: Minh họa cách sử dụng biểu tượng hằng

    class MinhHoaC3
    {
        static void Main()
        {
            const int DoSoi = 100; // Độ C
            const int DoDong = 0; // Độ C
            System.Console.WriteLine(“Do dong cua nuoc {0}”, DoDong);
            System.Console.WriteLine(“Do soi cua nuoc {0}”, DoSoi);
        }
    }

Kết quả:

Do dong cua nuoc 0
Do soi cua nuoc 100

Các bạn đã hiểu được sự khác nhau giữa biến và hằng- cách sử dụng chúng trong C#.
Ngoài ra bạn còn biết thế nào là từ khóa, quy tắc đặt tên trong C#, cách viết chú thích và cách ghi ra màn hình kí tự, biến…

admin