С# long to float/double
От: okon  
Дата: 11.04.19 12:27
Оценка:
Не совсем выглядит логичным почему выбирается метод с float параметром,
а также в случае если заменяем Test(double) на Test(decimal) то компилятор не может выбрать между двумя методами и ошибка компиляции.
В случае с параметром Test(double) ошибки компиляции нету.

void static Test()
{
   Test(1L);
}

void static Test(double value)
{
   Console.WriteLine($"double = {value}");
}

void static Test(float value)
{
   Console.WriteLine($"float = {value}");
}



void static Test()
{
   Test(1L);
}

void static Test(decimal value)
{
   Console.WriteLine($"double = {value}");
}

void static Test(float value)
{
   Console.WriteLine($"float = {value}");
}
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Отредактировано 11.04.2019 12:27 okon . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.