public static void Main()
Console.WriteLine(new Test(1).GetHashCode());
Console.WriteLine(new Test(1).GetHashCode());
Console.WriteLine(new Test(2).GetHashCode());
Console.WriteLine(new Test(10).GetHashCode());
Console.WriteLine(new Test(100).GetHashCode());
throw new ArgumentOutOfRangeException(nameof(x));
public override int GetHashCode()
int hash = (int)2166136261;
hash = (hash ^ X.GetHashCode()) * 16777619;