Typeof()
typeof lấy kiểu tại compile-time, trả về Type của đối số.
Ví dụ: typeof(byte) trả về System.Byte.
Ví dụ
using System;
class Program {
static void Main() {
Console.WriteLine(typeof(int));
Console.WriteLine(typeof(byte));
}
}
Kết quả
System.Int32 System.Byte
GetType()
GetType() lấy kiểu của instance hiện tại tại runtime.
Type tp = value.GetType();
Ví dụ kiểm tra kiểu int:
if (tp.Equals(typeof(int)))
Console.WriteLine("{0} là kiểu integer.", value);
Ví dụ
using System;
class Program {
public static void Main() {
object[] values = { (int)100, (long)17111 };
foreach (var value in values) {
Type tp = value.GetType();
if (tp.Equals(typeof(int)))
Console.WriteLine("{0} là kiểu integer.", value);
else
Console.WriteLine("'{0}' không phải kiểu int.", value);
}
}
}
Kết quả
100 là kiểu integer. '17111' không phải kiểu int.