将字符串转换为可为null的int

本文关键字:int null 转换 字符串 | 更新日期: 2023-09-27 17:57:50

如果_model.SubBrand是一个字符串,有没有更优雅的方法将其转换为可为null的int?我现在做的事情感觉很笨拙:

public int? SubBrandIndex
{
    get
    {
        return _model.SubBrand == null ?
            (int?)null : Convert.ToInt32(_model.SubBrand);
    }
}

将字符串转换为可为null的int

为了避免异常,您还应该检查无效字符串

public int? SubBrandIndex
{
    get
    {
        int value;
        return int.TryParse(subBrand, out value) ? (int?)value : null;
    }
}

为什么你想要一行,在我看来这是非常清晰可读的:

public int? SubBrandIndex
{
    get
    {
        int? subBrandIndex = null;
        if (_model.SubBrand != null)
            subBrandIndex = int.Parse(_model.SubBrand);
        return subBrandIndex;
    }
}