gpt4 book ai didi

c# - 使用 CsvHelper,如果第一列的值等于 0,如何映射到第二列

转载 作者:行者123 更新时间:2023-11-30 16:00:23 32 4
gpt4 key购买 nike

如果第一个字段小于 0,是否可以映射到第二个字段?

例如,如果您正在映射包含列 foobar 的 csv 文件:

Map(m => m.Price).Name("foo");

如果 foo 列等于 0,那么我们能否将 Price 映射到 bar 列的值呢?

最佳答案

您必须像下面这样手动转换列。

Map(x => x.Price)
.Name("foo")
.ConvertUsing(row =>
{
var fooValue = row.GetField<decimal>("foo");

if (fooValue == 0m)
{
return row.GetField<decimal>("bar");
}
return fooValue;
});

也就是说,我认为您不应该使用 CsvHelper 来进行条件映射。理想情况下,您应该为 CSV 模型和要映射到的另一个模型建立映射。然后使用将您的 CSV 模型映射到其他模型的代码。

关于c# - 使用 CsvHelper,如果第一列的值等于 0,如何映射到第二列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40303776/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com