double a3 = System.Convert.ToDouble(a1) — это три операции:
double a3 — описание новой локальной переменной,
System.Convert.ToDouble(a1) — собственно само преобразование,
a3=... — присваивание результата, только что созданной, локальной переменной а3.
Как я понимаю Вы хотите присвоить результат не локальной переменной a3, а полю a3. Для этого Вам надо убрать операцию создания локальной переменной:
a3 = System.Convert.ToDouble(a1)