Возможно ли изменить тип переменной?

Допустим создаём 3 переменных

int rez, arg2, arg1;

arg1 = 5;

arg2 = 2;

// double rez; - ошибка

rez = (double ) arg1 / arg2;

Можно ли сделать как нибудь преобразование переменной rez из инт в дабл? Чтобы при делении двух аргументов в rez присволось число 2,5 а не просто 2. Или тут только вариант создать ещё одну переменную, новую уже типа дабл?

1)

int arg2, arg1;

double rez;

arg1 = 5;

arg2 = 2;

rez = (double)arg1 / arg2;

Console.WriteLine(rez);

2)

dynamic rez, arg2, arg1;

arg1 = 5;

arg2 = 2;

rez = (double)arg1 / arg2;

Console.WriteLine(rez);

А такой вариант приемлем?

dynamic arg2, arg1;

arg1 = 5;

arg2 = 2;

Console.WriteLine((double)arg1 / (double)arg2);

Конечно приемлем, но не отвечает ТЗ.

Арифметическая операция из 2 интов всегда будет инт, если хотя бы один из операндов будет float или double, соответсвенно результат операции будем с больщим разрядом(большей точности или диапазона).

short int -> int
int double -> double
float double -> double

Но есть исключения
byte short -> int
short short -> int