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

예제로 알아보는 C# UInt16.GetHashCode() 메서드 완벽 가이드

C#의 UInt16.GetHashCode() 메서드는 현재 UInt16 인스턴스에 대한 해시 코드(HashCode)를 반환하는 데 사용됩니다. 해시 코드는 해시 테이블과 같은 해시 기반 컬렉션에서 객체를 효율적으로 저장하고 검색할 때 활용되는 정수 값입니다.

구문

UInt16.GetHashCode() 메서드의 구문은 다음과 같습니다.

public override int GetHashCode();

이 메서드는 매개변수를 받지 않으며, 현재 UInt16 값에 해당하는 32비트 정수(int) 형태의 해시 코드를 반환합니다.

예제 1

이제 UInt16.GetHashCode() 메서드를 구현한 첫 번째 예제를 살펴보겠습니다.

using System;
public class Demo {
    public static void Main(){
        ushort val1 = 100;
        ushort val2 = UInt16.MinValue;
        Console.WriteLine("HashCode for val1 = "+val1.GetHashCode());
        Console.WriteLine("HashCode for val2 = "+val2.GetHashCode());
    }
}

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

HashCode for val1 = 100
HashCode for val2 = 0

val1에는 100이 저장되어 있으므로 해시 코드로 100이 반환되고, val2에는 UInt16의 최솟값인 0이 저장되어 있으므로 해시 코드로 0이 반환됩니다.

예제 2

이번에는 UInt16.GetHashCode() 메서드를 구현한 또 다른 예제를 살펴보겠습니다.

using System;
public class Demo {
    public static void Main(){
        ushort val1 = 50;
        ushort val2 = UInt16.MaxValue;
        Console.WriteLine("HashCode for val1 = "+val1.GetHashCode());
        Console.WriteLine("HashCode for val2 = "+val2.GetHashCode());
    }
}

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

HashCode for val1 = 50
HashCode for val2 = 65535

val1에는 50이 저장되어 있으므로 해시 코드로 50이 반환되며, val2에는 UInt16의 최댓값인 65535가 저장되어 있으므로 해시 코드로 65535가 반환됩니다.

정리

UInt16.GetHashCode() 메서드는 UInt16 값 자체와 동일한 정수를 해시 코드로 반환합니다. 즉, 저장된 숫자 값이 곧 해시 코드가 되므로 예측 가능한 결과를 얻을 수 있습니다. UInt16은 0부터 65535까지의 부호 없는 16비트 정수를 표현하며, 최솟값(MinValue)은 0, 최댓값(MaxValue)은 65535입니다.