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
IConvertibleyêu cầu triển khaiGetTypeCode(). - 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.Booleancho bất kỳ giá trị bool nào (true/false). - Khác với
typeof(bool)(trả về Type object) hoặcval.GetType().