LINUX.ORG.RU

История изменений

Исправление 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;

Но я не шарпей, может там чего ажекватного подвезли. Ну и я бы весь парсинг отдельно в метод унёс.