int.TryPrase
велик, и все, но есть только одна проблема ... она занимает по меньшей мере, две строки кода для использования:int.TryParse облегченная запись
int intValue;
string stringValue = "123";
int.TryParse(stringValue, out intValue);
....
Конечно, я могу сделать что-то вроде:
string stringValue = "123";
int intValue = Convert.ToInt32(string.IsNullOrWhiteSpace(stringValue) ? 0 : stringValue);
только на одной строке кода.
Как я могу выполнить некоторую магию, чтобы получить int.TryParse, чтобы использовать один лайнер, или есть еще третья альтернатива?
Спасибо!
Bezden ответил на вопрос лучше, но на самом деле я планирую использовать решение Reddogs.
Хотя немного поздно к этой партии ... Я полностью согласен, что было бы неплохо иметь TryParse как один лайнер, но предложения здесь не очень приятно. В C# 6.0 было предложено языковое предложение, которое позволило бы использовать этот синтаксис ... bool result = int.TryParse ("123", out int value); // value = 123 – series0ne
related: если вы выполняете int до int? вы можете сделать 'int.TryParse (« string », out int result)? result: result', поэтому компилятор не разозлится – smurtagh