Как написать то же самое понятнее? Пояснил комментариями.
C#
long? catCode = null;
// Если строка val не пустая, 
if (!(String.IsNullOrWhiteSpace(val)))
{
    // распознаем в первых цифрах до пробела целое 64-битное число.
    // Если его там нет, записываем в catCode NULL. 
    // Если его удалось распознать, записываем его в catCode.
    if (!(Int64.TryParse(val.Split(" ")[0], out long cc)))
    {
        catCode = null;
    }
    else 
    {
        catCode = cc;
    }
}







