Да, оператор return будет применять неявные преобразования. Вот простой пример:
public long Method()
{
int value = 10;
return value;
}
Это просто эквивалентно:
public long Method()
{
int value = 10;
long valueToReturn = value;
return valueToReturn;
}
Так что, если вы ожидаете, что второй сработает, просто подумайте, что первый делает именно это .