string - 向 CsvHelper 添加可检测的 Nullable 值

标签 string nullable csvhelper

我想知道 Josh Close 的 CsvHelper 是否在我缺少的配置中有任何东西可以将值转换为 null。我是这个库的忠实粉丝,但我一直认为应该有某种配置让它知道你的文件中哪些值代表 NULL。一个示例是具有值“NA”、“EMPTY”、“NULL”等的列。我确信我可以创建自己的 TypeConverter,但我希望有一个更简单的选项可以在配置中的某个位置设置为这在我遇到的文件中很常见。

是否有一个配置设置可以相对容易地做到这一点?

我在 CsvHelper.TypeConversion 命名空间中找到了 TypeConversion,但不确定在哪里应用这样的东西或正确用法的示例:

new NullableConverter(typeof(string)).ConvertFromString(new TypeConverterOptions(), "NA")

我也在使用最新版本 2.2.2

谢谢!

最佳答案

我认为在过去七年和十三个版本中的某个时间,因为这个问题被问到在没有扩展自定义类型映射类的情况下执行此操作的选项,例如:

csvReader.Context.TypeConverterOptionsCache.GetOptions<string>().NullValues.Add("NULL");
csvReader.Context.TypeConverterOptionsCache.GetOptions<DateTime?>().NullValues.AddRange(new[] { "NULL", "0" });
csvReader.Context.TypeConverterOptionsCache.GetOptions<int?>().NullValues.Add("NULL");
csvReader.Context.TypeConverterOptionsCache.GetOptions<bool>().BooleanFalseValues.Add("0");
csvReader.Context.TypeConverterOptionsCache.GetOptions<bool>().BooleanTrueValues.Add("1");

关于string - 向 CsvHelper 添加可检测的 Nullable 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18733819/

相关文章:

java - 扫描仪跳过数字 Java

c# - InvalidCastException 尝试从装箱的 int 转换为可为 null 的枚举

c# - 在文件上传时使用 CSVHelper

c# - 将 CsvHelper 自定义转换器应用于一组类的所有字符串属性

c# - 将 JSON 发布到 ASP.NET MVC Nullable Short 属性

c# - 使用 CsvHelper 从单个 csv 文件读取多个类

javascript - 递归地从html中删除空节点

c# - C#编辑字符串以添加特定长度的换行符

c - 将输入文件标记为链表

c# - 下面的空条件运算符有什么问题?