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

ฟิลด์ Int32.MinValue ใน C# พร้อมตัวอย่าง


บทนำ

ฟิลด์ 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