บทนำ
ฟิลด์ Int32.MinValue ใน C# แสดงค่าที่น้อยที่สุดที่เป็นไปได้ของจำนวนเต็ม 32 บิตที่มีเครื่องหมาย (int) ซึ่งมีค่าเท่ากับ -2,147,483,648
หมายเหตุ: ข้อความต้นฉบับระบุว่า MaxValue แต่จริงๆ เป็น MinValue
ไวยากรณ์ (Syntax)
public const int MinValue = -2147483648;
ตัวอย่างที่ 1: แสดงค่าขอบเขตของ Int32
using System;
public class Demo
{
public static void Main()
{
int val1 = 23;
int 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);
Console.WriteLine("Maximum Value = " + Int32.MaxValue);
Console.WriteLine("Minimum Value = " + Int32.MinValue);
}
}
ผลลัพธ์
Value1 = 23 Value2 = 0 HashCode for value1 = 23 HashCode for value2 = 0 Are they equal? = False TypeCode for val1 = Int32 TypeCode for val2 = Int32 Maximum Value = 2147483647 Minimum Value = -2147483648
ตัวอย่างที่ 2: ตรวจสอบและแปลงค่า long เป็น int
using System;
public class Demo
{
public static void Main()
{
long[] val = { 8998, -899898778, 878787878, -20 };
int res;
foreach (long a in val)
{
if (a >= Int32.MinValue && a <= Int32.MaxValue)
{
res = Convert.ToInt32(a);
Console.WriteLine("Converted: " + res);
}
else
{
Console.WriteLine("Not Possible");
}
}
}
}
ผลลัพธ์
Converted: 8998 Converted: -899898778 Converted: 878787878 Converted: -20
สรุป
ฟิลด์ Int32.MinValue และ Int32.MaxValue มีประโยชน์สำหรับการตรวจสอบขอบเขตก่อนการแปลงชนิดข้อมูล (type conversion) เพื่อป้องกัน OverflowException