Int32 Struct แทนจำนวนเต็ม 32 บิต เครื่องหมาย (signed 32-bit integer) เป็นประเภทค่า (value type) ที่ไม่สามารถเปลี่ยนแปลงได้ (immutable) มีช่วงค่าจาก -2,147,483,648 ถึง 2,147,483,647 ใน C# เป็นอีกชื่อของ int
ฟิลด์ (Fields)
| ลำดับ | ฟิลด์ | คำอธิบาย |
| 1 | MaxValue | ค่าสูงสุดที่เป็นไปได้ของ Int32 (ค่าคงที่) = 2,147,483,647 |
| 2 | MinValue | ค่าต่ำสุดที่เป็นไปได้ของ Int32 (ค่าคงที่) = -2,147,483,648 |
เมธอดหลัก (Key Methods)
| ลำดับ | เมธอด | คำอธิบาย |
| 1 | CompareTo(Int32) | เปรียบเทียบกับ Int32 อื่น คืน -1, 0, 1 |
| 2 | CompareTo(Object) | เปรียบเทียบกับออบเจ็กต์ (ต้องเป็น Int32) |
| 3 | Equals(Int32) | ตรวจสอบความเท่ากับ Int32 อื่น |
| 4 | Equals(Object) | ตรวจสอบความเท่ากับออบเจ็กต์ |
| 5 | GetHashCode() | คืนรหัสแฮชของอินสแตนซ์ |
| 6 | GetTypeCode() | คืน TypeCode ของ Int32 (คือ TypeCode.Int32) |
| 7 | Parse(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() เป็นต้น