1

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

这是我的地图课

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

这是我的物品类别

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

问题是FRM_IDcsv 中的 可能有null. 所以当我做上面的 mappign 时,我有一个异常 null 不能转换为整数。我在问是否有办法尝试捕捉它并将值设置为 -10 当它为空时。

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

4

2 回答 2

3

您可以为映射添加默认值。

Map(m => m.FARM_ID).Name("FRM_ID").Default( -10 );
于 2014-10-01T20:57:18.370 回答
3

您可以使该属性可为空且非自动:

class CSVFileDefinitionFinal
{
    private int _farmId;

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

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

于 2014-08-10T09:18:00.113 回答