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

เมธอด Int64.GetTypeCode ใน C# พร้อมตัวอย่าง


บทนำ

เมธอด Int64.GetTypeCode() ใน C# ใช้สำหรับคืนค่า TypeCode สำหรับชนิดข้อมูลค่า (value type) Int64 ซึ่งเป็นจำนวนเต็ม 64 บิตที่มีเครื่องหมาย

ไวยากรณ์ (Syntax)

public TypeCode GetTypeCode ();

ตัวอย่างที่ 1: การใช้งานพื้นฐาน

ตัวอย่างต่อไปนี้สาธิตการใช้งานเมธอด Int64.GetTypeCode() กับค่าต่ำสุดและค่าสูงสุดของ Int64

using System;

public class Demo 
{
    public static void Main()
    {
        long val1 = 0;
        long val2 = Int64.MaxValue;
        
        Console.WriteLine("Value1 = " + val1);
        Console.WriteLine("Value2 = " + val2);
        Console.WriteLine("Are they equal? = " + val1.Equals(val2));
        Console.WriteLine("Value1 (HashCode) = " + val1.GetHashCode());
        Console.WriteLine("Value2 (HashCode) = " + val2.GetHashCode());
        
        TypeCode type1 = val1.GetTypeCode();
        TypeCode type2 = val2.GetTypeCode();
        
        Console.WriteLine("TypeCode for val1 = " + val1.GetTypeCode());
        Console.WriteLine("TypeCode for val2 = " + val2.GetTypeCode());
    }
}

ผลลัพธ์

Value1 = 0
Value2 = 9223372036854775807
Are they equal? = False
Value1 (HashCode) = 0
Value2 (HashCode) = -2147483648
TypeCode for val1 = Int64
TypeCode for val2 = Int64

ตัวอย่างที่ 2: การใช้งานกับค่าปกติ

ตัวอย่างนี้ทดสอบกับค่า Int64 ทั่วไป

using System;

public class Demo 
{
    public static void Main()
    {
        long val1 = 8768768766;
        long val2 = Int64.MaxValue;
        
        Console.WriteLine("Value1 = " + val1);
        Console.WriteLine("Value2 = " + val2);
        Console.WriteLine("Are they equal? = " + val1.Equals(val2));
        Console.WriteLine("Value1 (HashCode) = " + val1.GetHashCode());
        Console.WriteLine("Value2 (HashCode) = " + val2.GetHashCode());
        
        TypeCode type1 = val1.GetTypeCode();
        TypeCode type2 = val2.GetTypeCode();
        
        Console.WriteLine("TypeCode for val1 = " + val1.GetTypeCode());
        Console.WriteLine("TypeCode for val2 = " + val2.GetTypeCode());
    }
}

ผลลัพธ์

Value1 = 8768768766
Value2 = 9223372036854775807
Are they equal? = False
Value1 (HashCode) = 178834172
Value2 (HashCode) = -2147483648
TypeCode for val1 = Int64
TypeCode for val2 = Int64

สรุป

เมธอด GetTypeCode() จะคืนค่า TypeCode.Int64 สำหรับทุกค่าของชนิด long (Int64) ซึ่งเป็นประโยชน์เมื่อต้องการตรวจสอบชนิดข้อมูลในเวลารัน (runtime) โดยเฉพาะในการทำงานกับการสลับชนิด (type switching) หรือการเรียกใช้งานผ่าน Reflection