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. java alibaba fastJson 遍历数组json

    import java.util.*; import com.alibaba.fastjson.*; public class Test { public static void main(Strin ...

  2. UML架构设计师必备神器

    UML-架构设计师必备神器 做过Java开发的一定都听过UML,也都能感觉到它的重要性.由其是在网上搜索一些高级技术介绍,写的好的.阅读量高的.让初.中级程序员容易看懂的.思路清晰的文章一定有UML类 ...

  3. paxos协议(1)-朴素paxos

    前言 学习paxos协议,最困惑我的两点是: 1. 朴素paxos是怎么样的?这部分主要是原理: 2. paxos协议是怎么运用到分布式系统解决问题的.因为很多博客的开篇说paxos协议可以运用在很多 ...

  4. Qt5显示中文字符

    在cpp文件或.h文件中顶行输入: #pragma execution_character_set("utf-8")

  5. Django实现支付宝支付(沙箱)

    1.安装SDK 点击右侧沙箱当面付接入指导,之后可以看到一个下载SDK的按钮,点击后,会有python的SDK下载链接,但还是属于公测中,也可以通过在cmd里输入以下代码来安装. pip instal ...

  6. Git很简单--图解攻略

    Git Git 是目前世界上最先进的分布式版本控制系统(没有之一) 作用 源代码管理 为什么要进行源代码管理? 方便多人协同开发 方便版本控制 Git管理源代码特点 1.Git是分布式管理.服务器和客 ...

  7. 浅谈es5和es6中的继承

    首先给大家介绍下在es5中构造函数的继承 function A(){ 2 //构造函数A 3 this.name="我是A函数"; 4 } 5 6 A.prototype={ 7 ...

  8. aiohttp的模板

    import aiohttp import asyncio import async_timeout from urllib.parse import urljoin,urldefrag root_u ...

  9. C语言 经典编程100

    一.题目 [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去掉不满足条件 ...

  10. ubuntu 和windows 分别在anaconda上安装tensorflow

    windows下 的anaconda安装tensorflow: 在Anaconda Prompt中:conda install tensorflow python=3.5一直下载失败.总结一下原因可能 ...