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

โครงสร้าง Int32 Struct ใน C#


Int32 Struct แทนจำนวนเต็ม 32 บิต เครื่องหมาย (signed 32-bit integer) เป็นประเภทค่า (value type) ที่ไม่สามารถเปลี่ยนแปลงได้ (immutable) มีช่วงค่าจาก -2,147,483,648 ถึง 2,147,483,647 ใน C# เป็นอีกชื่อของ int

ฟิลด์ (Fields)

ลำดับฟิลด์คำอธิบาย
1MaxValueค่าสูงสุดที่เป็นไปได้ของ Int32 (ค่าคงที่) = 2,147,483,647
2MinValueค่าต่ำสุดที่เป็นไปได้ของ Int32 (ค่าคงที่) = -2,147,483,648

เมธอดหลัก (Key Methods)

ลำดับเมธอดคำอธิบาย
1CompareTo(Int32)เปรียบเทียบกับ Int32 อื่น คืน -1, 0, 1
2CompareTo(Object)เปรียบเทียบกับออบเจ็กต์ (ต้องเป็น Int32)
3Equals(Int32)ตรวจสอบความเท่ากับ Int32 อื่น
4Equals(Object)ตรวจสอบความเท่ากับออบเจ็กต์
5GetHashCode()คืนรหัสแฮชของอินสแตนซ์
6GetTypeCode()คืน TypeCode ของ Int32 (คือ TypeCode.Int32)
7Parse(String)แปลงสตริงเป็น Int32

เมธอดเพิ่มเติมที่สำคัญ

  • TryParse(String, out Int32) — แปลงสตริงเป็น Int32 อย่างปลอดภัย ไม่โยนข้อยกเว้น
  • ToString() — แปลงเป็นสตริง รองรับรูปแบบ format ต่างๆ
  • ToString(IFormatProvider) — แปลงเป็นสตริงด้วยวัฒนธรรมเฉพาะ

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

using System;

public class Demo
{
    public static void Main()
    {
        int max = Int32.MaxValue;
        int min = Int32.MinValue;

        Console.WriteLine("MaxValue = " + max);      // 2147483647
        Console.WriteLine("MinValue = " + min);      // -2147483648

        string numStr = "12345";
        int parsed = Int32.Parse(numStr);
        Console.WriteLine("Parsed: " + parsed);      // 12345

        bool success = Int32.TryParse("abc", out int result);
        Console.WriteLine("TryParse 'abc': " + success); // False

        Console.WriteLine("TypeCode: " + max.GetTypeCode()); // Int32
        Console.WriteLine("HashCode: " + max.GetHashCode());
    }
}

ข้อสังเกตสำคัญ

  • Int32 เป็นประเภทพื้นฐาน (primitive type) ใน .NET — มีการสนับสนุนจาก CLR โดยตรง
  • ใช้ int ใน C# เป็นอัลลิอาสของ Int32 — ทั้งคู่เหมือนกันทุกประการ
  • สำหรับการคำนวณที่อาจล้น (overflow) ใช้ checked / unchecked context
  • ใน .NET ใหม่ๆ มี Int32.Clamp(), Int32.Sign(), Int32.PopCount() เป็นต้น