Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Phương thức Boolean.GetTypeCode() trong C# với ví dụ

Phương thức Boolean.GetTypeCode() trong C# được dùng để trả về mã kiểu (TypeCode) cho kiểu giá trị Boolean. Luôn trả về TypeCode.Boolean.

Cú pháp

public TypeCode GetTypeCode();

Ví dụ 1: GetTypeCode với Boolean và các kiểu khác

using System;

public class Demo
{
    public static void Main(string[] args)
    {
        string str = "JackSparrow!";
        bool val = true;
        char[] arr = { 'J', 'a' };

        Console.WriteLine("Chuỗi = " + str);
        Console.WriteLine("Chuỗi (sau Trim) = " + str.Trim(arr));
        Console.WriteLine("Chuỗi (Hashcode) = " + str.GetHashCode());
        Console.WriteLine("Bool (Hashcode) = " + val.GetHashCode());
        Console.WriteLine("Bool (TypeCode) = " + val.GetTypeCode());
    }
}

Kết quả

Chuỗi = JackSparrow!
Chuỗi (sau Trim) = ckSparrow!
Chuỗi (Hashcode) = -203134198
Bool (Hashcode) = 1
Bool (TypeCode) = Boolean

Ví dụ 2: So sánh true và false

using System;

public class Demo
{
    public static void Main(string[] args)
    {
        bool val1 = true;
        bool val2 = false;

        Console.WriteLine("Giá trị 1 (Hashcode) = " + val1.GetHashCode());
        Console.WriteLine("Giá trị 1 (TypeCode) = " + val1.GetTypeCode());
        Console.WriteLine("Giá trị 2 (Hashcode) = " + val2.GetHashCode());
        Console.WriteLine("Giá trị 2 (TypeCode) = " + val2.GetTypeCode());
    }
}

Kết quả

Giá trị 1 (Hashcode) = 1
Giá trị 1 (TypeCode) = Boolean
Giá trị 2 (Hashcode) = 0
Giá trị 2 (TypeCode) = Boolean

Bảng TypeCode phổ biến

Kiểu TypeCode
Boolean Boolean
Byte / SByte Byte / SByte
Int16 / Int32 / Int64 Int16 / Int32 / Int64
Single / Double / Decimal Single / Double / Decimal
Char Char
String String
DateTime DateTime
Object Object

Ứng dụng thực tế

  • Dùng trong serialization, reflection, hoặc khi viết code generic cần xác định kiểu runtime.
  • Interface IConvertible yêu cầu triển khai GetTypeCode().
  • Kết hợp với Convert.ChangeType() để chuyển đổi động.

Lưu ý

  • GetTypeCode() là phương thức instance (gọi trên biến), không phải static.
  • Luôn trả về TypeCode.Boolean cho bất kỳ giá trị bool nào (true/false).
  • Khác với typeof(bool) (trả về Type object) hoặc val.GetType().