При чтении comment в ответ я увидел следующую конструкцию для объявления и инициализации переменной:
int variable = int.TryParse(stringValue, out variable) ? variable : 0;
Это разрешено, правильно и четко определено в С#? Что происходит под капотом? Что происходит?
- Изначально
variable
инициализируется до нуля? - затем передается в
int.TryParse
(который присваивает значение)? - затем, возможно, прочитайте (если
int.TryParse
returntrue
)? - а затем, снова назначенный/инициализированный?