Рассмотрим этот код:
static void Main()
{
int input = 10;
Console.WriteLine(GetResult(input));
}
static string GetResult(long input)
{
return (input).ToString();
}
static string GetResult(int input)
{
return (input).ToString();
}
В нынешнем виде код в методе Main()
вызовет второй GetResult()
, который принимает параметр int
. Если я удаляю второй метод, он автоматически будет использовать первый метод, который принимает параметр long
.
Хотя я могу понять, что int
как Int32
будет соответствовать long
как Int64
, я не смог найти объяснения (чтобы помочь моему любопытству) относительно того, как это работает под капот.
Должен ли я просто признать, что это просто работает, или кто-то может предоставить более подробную информацию?