如何设置默认值

时间:2014-08-10 09:15:25

标签: c# .net csvhelper

我正在尝试使用csv helper解析csv文件

这是我的maping课程

sealed class CSVFileDefinitionMapFinal : CsvClassMap<CSVFileDefinitionFinal>
{ 
    public CSVFileDefinitionMapFinal()
    {
        Map(m => m.FARM_ID).Name("FRM_ID");
    }
}

这是我的项目类

class CSVFileDefinitionFinal
{
    public int FARM_ID { get; set; }
}

问题是csv中的FRM_ID可能有null。所以当我在上面做mappign时,我有一个例外,即null不能转移到整数。我问的是有没有办法尝试捕获它并在值为空时将值设置为-10。

try和catch应该在maping类中,但在捕获异常后我不知道该怎么做。换句话说,我不知道如何将默认值设置为maping对象

2 个答案:

答案 0 :(得分:3)

您可以将该属性设为可空,而非自动:

class CSVFileDefinitionFinal
{
    private int _farmId;

    public int? FARM_ID
    {
        get { return _farmId; }
        set { _farmId = value == null ? -10 : value.Value; }
    }
}

请注意,您需要在该类中定义private int _farmId成员。

答案 1 :(得分:2)

您只需在映射中添加默认值即可。

Map(m => m.FARM_ID).Name("FRM_ID").Default( -10 );