История изменений
Исправление ya-betmen, (текущая версия) :
К сожалению нольпойнтерофобия создателей дотнета сильно загаживает подобные трансформации. Я давно не трогал дотнет, но сделал бы как-то так.
public static string LeftDigits(this string str)
{
if (str == null) return null;
if (!str.contains(" ") return null;
string left = str.Split(" ")[0];
if (! left.All(Char.IsDigit){
return null;
}
return left;
}
//...
string digits = LeftDigits(val);
long? catCode = digits != null ? Int64.Parse(digits) : null;
Но я не шарпей, может там чего адекватного подвезли. Ну и я бы весь парсинг отдельно в метод унёс.
Исходная версия ya-betmen, :
К сожалению нольпойнтерофобия создателей дотнета сильно загаживает подобные трансформации. Я давно не трогал дотнет, но сделал бы как-то так.
public static string LeftDigits(this string str)
{
if (str == null) return null;
if (!str.contains(" ") return null;
string left = str.Split(" ")[0];
if (! left.All(Char.IsDigit){
return null;
}
return left;
}
//...
string digits = LeftDigits(val);
long? catCode = digits != null ? Int64.Parse(digits) : null;
Но я не шарпей, может там чего ажекватного подвезли. Ну и я бы весь парсинг отдельно в метод унёс.