CsvHelper文档-6类型转换

CsvHelper使用类型转换器来转换string到对象,或者对象到string;

ITypeConverter

类型转换器的结构,必须实现;

public interface ITypeConverter
{
string ConvertToString( object value, IWriterRow row, MemberMapData memberMapData ); string ConvertFromString( string text, IReaderRow row, MemberMapData memberMapData );
}

ConvertToString

转换一个对象到string

参数

  • value:被转换的对象可以是值类型也可以是引用类型。
  • row: 允许转换器写入的IWriterRow接口可以访问configuration和上下文。
  • memberMapData: 设置的映射数据,映射被转换的成员

ConvertFromString

把string转换为对象

参数

  • text: 要转换的字符串
  • row: 允许转换器写入的IWriterRow接口可以访问configuration和上下文。
  • memberMapData: 设置的映射数据,映射被转换的成员

DefaultTypeConverter

默认的转换器可以作为其他转换器的基类;

ConvertToString 将会使用任何设定好的格式化设置来在一个对象上调用ToString.

ConvertFromString 将会抛出一个 TypeConverterException. 实现DefaultTypeConverter的类需要覆盖这个方法,提供一个自己类型的实现.

TypeConverterOptions

TypeConverterCache

TypeConverterOptionsCache

Type Converters

这里有一些可用的转换器。大部分模仿的是 .NET类型转换器的做法,除了需要考虑configuration和映射设定之外。

ArrayConverter

BooleanConverter

ByteArrayConverter

ByteArrayConverterOptions

ByteConverter

CharConverter

CollectionGenericConverter

DateTimeConverter

DateTimeOffsetConverter

DecimalConverter

DoubleConverter

EnumConverter

EnumerableConverter

GuidConverter

IDictionaryConverter

IDictionaryGenericConverter

IEnumerableConverter

IEnumerableGenericConverter

Int16Converter

Int32Converter

Int62Converter

NullableConverter

SByteConverter

SingleConverter

StringConverter

TimeSpanConverter

UInt16Converter

UInt32Converter

UInt64Converter

ArrayConverter

转换多个字段到数据兑现成员或者反过来。

// Data
A,B,C,C,C

BooleanConverter

ByteArrayConverter

ByteArrayConverterOptions

ByteConverter

CharConverter

CollectionGenericConverter

DateTimeConverter

DateTimeOffsetConverter

DecimalConverter

DoubleConverter

EnumConverter

EnumerableConverter

GuidConverter

IDictionaryConverter

IDictionaryGenericConverter

IEnumerableConverter

IEnumerableGenericConverter

Int16Converter

Int32Converter

Int62Converter

NullableConverter

SByteConverter

SingleConverter

StringConverter

TimeSpanConverter

UInt16Converter

UInt32Converter

UInt64Converter

CsvHelper文档-6类型转换的更多相关文章

  1. CsvHelper文档-5配置

    CsvHelper文档-5配置 CsvHelper库被设计成快速且简单易用,但是有时候默认的是设置不符合要求,需要你自己改变一些东西.所以csvHelper内置了很多自定义设置选项来改变读写行为.特别 ...

  2. CsvHelper文档-4映射

    CsvHelper文档-4映射 类映射 有时候你的类成员和csv的header不一定对应,有时候你的csv文件根本就没有header行,你需要特别制定一个成员的index,你不能依靠.net中默认的顺 ...

  3. CsvHelper文档-3写

    CsvHelper文档-3写 不用做任何设置,默认的情况下,csvhelper就可以很好的工作了.如果你的类的属性名称和csv的header名称匹配,那么可以按照下面的例子写入: var record ...

  4. CsvHelper文档-2读

    CsvHelper文档-2读 这个库默认不需要做任何设置就可以很容易的使用它.如果你的类属性名称直接匹配csv的标题名称,那么可以按照下面的实例来用: (以下所有的代码都需要引用using csvhe ...

  5. CsvHelper文档-1前言

    CsvHelper文档-1前言 英文文档链接地址:CsvHelper Document 开源项目地址:CsvHelper 翻译于2018-1-5,原本可能会随时更新: 每一段代码都是经过我实际测试的, ...

  6. python初步学习-查看文档及数据类型转换

    学会查看文档 python最权威的文档就是官方文档,因此,我们要学会查看官方文档.而在python解释器中,help() 命令就可以很权威的查看官方文档. 因此,我们要学会使用 help() 命令. ...

  7. Kooboo CMS技术文档之一:Kooboo CMS技术背景

    语言平台 依赖注入方案 存储模型 1. 语言平台 Kooboo CMS基于.NET Framework 4.x,.NET Framework 4.x的一些技术特性成为站点开发人员使用Kooboo CM ...

  8. SpingMVC 核心技术帮助文档

    声明:本篇文档主要是用于参考帮助文档,没有实例,但几乎包含了SpringMVC 4.2版本的所有核心技术,当前最新版本是4.3,4.2的版本已经经是很新的了,所以非常值得大家一读,对于读完这篇文档感觉 ...

  9. KOTLIN开发语言文档(官方文档) -- 入门

    网页链接:https://kotlinlang.org/docs/reference/basic-syntax.html 1.   入门 1.1.  基本语法 1.1.1.   定义包 包说明应该在源 ...

随机推荐

  1. HDU 1158(非常好的锻炼DP思维的题目,非常经典)

    题目链接: acm.hdu.edu.cn/showproblem.php?pid=1158 Employment Planning Time Limit: 2000/1000 MS (Java/Oth ...

  2. CSS 学习路线(二)选择器

    选择器 规则结构: 分两个基本部分 选择器(selector)和声明块(declaration block) 组成 声明块:由一个或多个声明组成,每一个声明都是属性-值对 选择器分为:元素选择器,类选 ...

  3. SQL语句group by 与order by 执行顺序引发的一场“内斗”

    直入主题!看看下面这SQL会不会报错?如果报错应该是什么错误! --说明:黑色字体都是列SELECT application_id, index_num, num, amount FROM `cred ...

  4. 数组的定义和使用,理解多维数组和Array类

    数组的作用 在执行程序的过程中,通常会需要存储大量数据.如果只有少量数据,那么通过声明变量,存储到变量中即可.但当我们的数据是20个.40个甚至是100以上时,就意味着需要声明很多变量,这是不现实的, ...

  5. pyntho经典面试题

    Python基础篇 1:为什么学习Python 2:通过什么途径学习Python 3:谈谈对Python和其他语言的区别 Python的优势: 4:简述解释型和编译型编程语言 5:Python的解释器 ...

  6. MySQL——安装

    1. 下载源: http://repo.mysql.com/yum/mysql-8.0-community/el/7/x86_64/mysql80-community-release-el7-2.no ...

  7. docker 安装 MySQL 8.0

    1.查找镜像 查找Docker Hub上的mysql镜像 X230:~$ docker search mysql NAME DESCRIPTION STARS OFFICIAL AUTOMATED m ...

  8. laravel5.5源码笔记(一、入口应用的初始化)

    laravel的项目入口文件index.php如下 define('LARAVEL_START', microtime(true)); require __DIR__.'/../vendor/auto ...

  9. 了解MapReduce_2

    再写MapReduce执行流程之前,首先先对MapReduce有一些了解: 1. 简介 MapReduce是一个计算框架,既然是做计算的框架,那么表现的形式上就有输入,操作输入,得到结果2.主从结构 ...

  10. Microbit蓝芽配对

    Microbit蓝芽配对 (Bluetooth Pairing) Microbit 可以像手机或平板与其他蓝芽装置一样,一旦做完第一次配对完就可以使用”蓝芽服务” paired with the mi ...