Este ejemplo está en C# pero espero que pueda aplicarse a otros con la misma facilidad.¿Algún problema al declarar una variable y usar TryParse para inicializarla en la misma línea?
Recientemente he descubierto que la siguiente parece funcionar muy bien:
int i = Int32.TryParse(SomeString, out i) ? i : -1;
De alguna manera, parece como si la variable i
no debería ser técnicamente accesibles en el punto que aparece en TryParse
. ¿O sería correcto suponer que int i
declara efectivamente la variable, a pesar de que todavía no hay un final de declaración?
¡Ja!Eso es tan cool. Este código no es bueno si -1 es un valor válido de SomeString, pero aún así. A menudo me gustaría poder declarar una variable de "salida" implícitamente, p. ¿No sería bueno si pudieras escribir 'if (int.TryParse (s, out var i)) {...}' donde 'i' es una nueva variable que nunca se declaró previamente? – Qwertie
Tal vez, como sugiere Henk, un método de ayuda es lo mejor. por ejemplo, 'int CustomIntParse (string s, int default) {}' – JYelton
He tomado una foto de algunos métodos de ayuda a considerar. –