Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# UInt32.MinValue 필드란? 문법과 예제로 쉽게 배우기

C#의 UInt32.MinValue 필드는 32비트 부호 없는 정수(unsigned int)가 가질 수 있는 최소값을 나타냅니다. 이 값은 항상 0이며, 부호 없는 정수이기 때문에 음수를 표현할 수 없다는 특징이 있습니다.

문법(Syntax)

UInt32.MinValue 필드의 기본 문법은 다음과 같습니다.

public const uint MinValue = 0;

MinValue는 const 상수로 선언되어 있으므로, 프로그램 실행 중에 값을 변경할 수 없으며 컴파일 시점에 고정됩니다.

예제 1: UInt32.MinValue 기본 사용법

다음 예제를 통해 UInt32.MinValue 필드가 실제로 어떻게 동작하는지 확인해 보겠습니다.

using System;
public class Demo {
   public static void Main(){
      uint val1 = 23;
      uint 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("Minimum Value = " + UInt32.MinValue);
   }
}

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.

Value1 = 23
Value2 = 0
HashCode for value1 = 23
HashCode for value2 = 0
Are they equal? = False
TypeCode for val1 = UInt32
TypeCode for val2 = UInt32
Minimum Value = 0

출력 결과에서 확인할 수 있듯이, 두 변수 모두 TypeCode가 UInt32로 반환되며, UInt32.MinValue의 값은 0으로 출력됩니다.

예제 2: MinValue와 MaxValue를 활용한 범위 검사

다음 예제에서는 UInt32.MinValue와 UInt32.MaxValue를 함께 사용하여, ulong 타입의 값이 uint 타입으로 안전하게 변환 가능한지 검사하는 방법을 살펴보겠습니다.

using System;
public class Demo {
   public static void Main(){
      ulong[] val = {8998, 899898778, 878787878};
      uint res;
      foreach(ulong a in val){
         if(a >= UInt32.MinValue && a <= UInt32.MaxValue){
            res = Convert.ToUInt32(a);
            Console.WriteLine("Converted: " + res);
         } else {
            Console.WriteLine("Not Possible");
         }
      }
   }
}

실행 결과

위 코드의 출력 결과는 다음과 같습니다.

Converted: 8998
Converted: 899898778
Converted: 878787878

정리

  • UInt32.MinValue는 32비트 부호 없는 정수의 최소값인 0을 나타내는 상수입니다.
  • 부호 없는 정수는 음수를 저장할 수 없으므로, 최소값이 0이라는 점이 중요합니다.
  • 타입 변환 전에 UInt32.MinValue와 UInt32.MaxValue 사이에 값이 있는지 검사하면 오버플로우 오류를 예방할 수 있습니다.