我正在使用来自https://github.com/phatcher/CsvReader
的CsvReader分隔符将取决于数据源的类型,因此我的分隔符char存储在数据库中。
它对Comma(,)和Pipe(|)完全正常。
现在我得到了Tab分隔值,而制表符是" \ t"即CsvReader预期的2个字符而不是1个字符。
所以我将分隔符的数据类型更改为Varchar(2),现在在C#中修改它时抛出错误为" String必须正好是一个字符长"
另一种选择是存储Ascii值并在C#中转换为Char。
将字符串转换为char时,我可以使用Escape字符做什么吗?
答案 0 :(得分:1)
字符串文字" \ t"指定的字符串是1个字符长。它只需要在字符串文字中指定两个字符(实际上包括引号四个)。
答案 1 :(得分:0)
转义值仍然是一个字符长。您可以编写以将制表符(ASCII 9)分配给char变量:
char value = '\t';
如果您需要转换从数据库读取的转义字符串,您只需将\ t值替换为实际值,即:
string newstring = mystring.Replace("\\t", "\t");