int.TryPrase
è grande e tutti, ma c'è solo un problema ... ci vogliono almeno due righe di codice da usare:int.TryParse zucchero sintattico
int intValue;
string stringValue = "123";
int.TryParse(stringValue, out intValue);
....
Certo che posso fare qualcosa di simile:
string stringValue = "123";
int intValue = Convert.ToInt32(string.IsNullOrWhiteSpace(stringValue) ? 0 : stringValue);
su una sola riga di codice.
Come posso eseguire un po 'di magia per ottenere int.TryParse di utilizzare un solo rivestimento, o c'è ancora una terza alternativa là fuori?
Grazie!
Bezden ha risposto alla domanda meglio, ma in realtà ho intenzione di utilizzare la soluzione Reddogs.
Mentre un po 'tardi per questo partito ... Sono assolutamente d'accordo, sarebbe bello avere TryParse come uno di linea, ma i suggerimenti qui non sono molto bello. C# 6.0 aveva una proposta linguistica che avrebbe permesso questa sintassi ... bool result = int.TryParse ("123", out int value); // value = 123 – series0ne
related: se stai trasmettendo int a int? puoi fare 'int.TryParse (" string ", out int result)? risultato: risultato', quindi il compilatore non si arrabbierà – smurtagh