Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

การดึง TypeCode ของชนิดค่า Int16 ใน C#

ภาพรวม

โครงสร้าง 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() คืน TypeCode enum ระบุชนิดข้อมูลมาตรฐาน
  • Int16 ใช้พื้นที่ 2 ไบต์ ช่วง -32,768 ถึง 32,767
  • Hash code ของค่าตัวเลขมักคำนวณจากค่าเอง แต่อาจต่างออกไปในบางกรณี