ภาพรวม
โครงสร้าง Int16 (signed 16-bit integer) มีเมธอด GetTypeCode() คืนค่า TypeCode.Int16 ระบุชนิดข้อมูลอย่างชัดเจน
ตัวอย่างที่ 1: ค่า 0 และ Int16.MaxValue
using System;
public class Demo
{
public static void Main()
{
short val1 = 0;
short val2 = Int16.MaxValue; // 32767
Console.WriteLine("Value1 = " + val1);
Console.WriteLine("Value2 = " + val2);
Console.WriteLine("HashCode for value1 = " + val1.GetHashCode());
Console.WriteLine("HashCode for value2 = " + val2.GetHashCode());
Console.WriteLine("Are they equal? = " + (val1.Equals(val2)));
TypeCode type1 = val1.GetTypeCode();
TypeCode type2 = val2.GetTypeCode();
Console.WriteLine("TypeCode for val1 = " + type1);
Console.WriteLine("TypeCode for val2 = " + type2);
}
}
ผลลัพธ์
Value1 = 0 Value2 = 32767 HashCode for value1 = 0 HashCode for value2 = 2147450879 Are they equal? = False TypeCode for val1 = Int16 TypeCode for val2 = Int16
ตัวอย่างที่ 2: ค่า 23 และ 0
using System;
public class Demo
{
public static void Main()
{
short val1 = 23;
short val2 = 0;
Console.WriteLine("Value1 = " + val1);
Console.WriteLine("Value2 = " + val2);
Console.WriteLine("HashCode for value1 = " + val1.GetHashCode());
Console.WriteLine("HashCode for value2 = " + val2.GetHashCode());
Console.WriteLine("Are they equal? = " + (val1.Equals(val2)));
TypeCode type1 = val1.GetTypeCode();
TypeCode type2 = val2.GetTypeCode();
Console.WriteLine("TypeCode for val1 = " + type1);
Console.WriteLine("TypeCode for val2 = " + type2);
}
}
ผลลัพธ์
Value1 = 23 Value2 = 0 HashCode for value1 = 1507351 HashCode for value2 = 0 Are they equal? = False TypeCode for val1 = Int16 TypeCode for val2 = Int16
สรุป
GetTypeCode()คืนTypeCodeenum ระบุชนิดข้อมูลมาตรฐาน- Int16 ใช้พื้นที่ 2 ไบต์ ช่วง -32,768 ถึง 32,767
- Hash code ของค่าตัวเลขมักคำนวณจากค่าเอง แต่อาจต่างออกไปในบางกรณี