• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Sử dụng từ khóa default trong C#

Các bài viết hướng dẫn về Visual Basic .NET và C#

Điều hành viên: tungcan5diop, QUANITGROBEST

neverland87
Guru
Guru
Bài viết: 490
Ngày tham gia: T.Bảy 26/05/2007 4:31 pm
Been thanked: 8 time

Sử dụng từ khóa default trong C#

Gửi bàigửi bởi neverland87 » T.Bảy 24/05/2008 8:47 pm

Tên bài viết: Sử dụng từ khóa default trong C#
Tác giả: neverland87 lược dịch
Cấp độ bài viết: Cơ bản
Tóm tắt: Từ khóa default cũng giữ 1 vai trò quan trọng trong cú pháp của ngôn ngữ c#. Trong bài viết ngắn này, mình sẽ liệt kê ra những trường hợp sử dụng đến nó:


-Trường hợp 1: trong CASE statement:

Mã: Chọn hết

  1. Color x = new Color();
  2.  
  3. switch (x)
  4.  
  5. {
  6.  
  7. case Color.Red :
  8.  
  9.     MessageBox.Show("Day la mau do");
  10.     break;
  11.  
  12. case Color.Green :
  13.  
  14.     MessageBox.Show("Day la mau xanh la cay");
  15.     break;
  16.  
  17. case Color.Blue:
  18.  
  19.     MessageBox.Show("Day la mau xanh luc");
  20.     break;
  21.  
  22. default:
  23.     MessageBox.Show("Day co the la mot trong cac mau con lai");
  24. }

Câu lệnh này khá cơ bản, default ở đây có nghĩa là những giá trị không ứng với những trị mình vừa xét ở case ở trên.

-Trường hợp 2: Hãy tưởng tượng bạn xây dựng 1 kiểu class generic nào đó, và bạn muốn thiết đặt lại giá trị mặc định cho nó, bạn làm như sau:

Mã: Chọn hết

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4.  
  5. public class myType<T>
  6.  
  7.     {
  8.  
  9.         public myType() { }
  10.  
  11.         private T _Attribute1;
  12.  
  13.         private T _Attribute2;
  14.  
  15.         public T Attribute1
  16.  
  17.         {
  18.  
  19.             get { return _Attribute1; }
  20.  
  21.             set { _Attribute1 = value; }
  22.  
  23.         }
  24.  
  25.         public T Attribute2
  26.  
  27.         {
  28.  
  29.             get { return _Attribute1; }
  30.  
  31.             set { _Attribute2 = value; }
  32.  
  33.         }
  34.  
  35.         public T method()
  36.  
  37.         {
  38.  
  39.             //TO DO: implement some tasks here else
  40.  
  41.             return null;
  42.  
  43.         }
  44.  
  45.         //To reset the type T defined by the class user
  46.  
  47.         public void ResetGenericType()
  48.  
  49.         {
  50.  
  51.             Attribute1 = default(T);
  52.  
  53.             Attribute2 = default(T);
  54.  
  55.         }
  56.  
  57.     }


-Trường hợp 3: Giả sử bạn muốn biết class generic nào đó là kiểu tham chiếu (string,..) hay kiểu trị (int,..), bạn làm như sau:

Mã: Chọn hết

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. public class myType<T>
  5.  
  6. {
  7.  
  8.     public myType()
  9.  
  10.     {
  11.  
  12.         if (default(T) == null)
  13.  
  14.             Console.WriteLine("T la kieu tham chieu");
  15.  
  16.         else
  17.  
  18.             Console.WriteLine("T la kieu tri");
  19.     }
  20. }


SIMPLY THE BEST - ĐƠN GIẢN LÀ TỐT NHẤT

MrB
Thành viên tích cực
Thành viên tích cực
Bài viết: 158
Ngày tham gia: T.Tư 26/03/2008 7:03 pm
Been thanked: 1 time

Re: Sử dụng từ khóa default trong C#

Gửi bàigửi bởi MrB » T.Bảy 24/05/2008 9:15 pm

Trong trường hợp 3, cách này sẽ cho kết quả không đúng khi T là nullable type. Nullable type có giá trị default là null nhưng lại là kiểu giá trị


Quay về “[.NET] Bài viết hướng dẫn”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.0 khách