2014-01-17 41 views
0
var columnNames = new string[] {"A","B","C"}; 
var cb = new DelimitedClassBuilder("GeneratedClassName", ",") { IgnoreFirstLines = 0, IgnoreEmptyLines = true, Delimiter = "," }; 


foreach (var header in columnNames) 
{     
    cb.AddField(header, typeof(string)); 

    cb.LastField.FieldQuoted = true; 
    cb.LastField.QuoteChar = '"'; 
    cb.LastField.QuoteMode = QuoteMode.OptionalForRead; 
    cb.LastField.FieldOptional = true; 
} 

var engine = new FileHelperEngine(cb.CreateRecordClass()); 
var dataTable = engine.ReadStringAsDT("123 abc Abhi"); 

FileHelpers微調的值

在上面的代碼段中的最後一個字符,預期的行爲是一個數據表將被創建。該數據表應包含3列A,B,C和一條記錄。該記錄應該對列A的值爲「123 abc Abhi」。 FileHelpersEngine返回的是具有3列A,B,C和一個記錄(迄今爲止)的數據表。該記錄對列A的值爲「123 abc Abh」(注意最後一個字符'i'被修剪)。爲什麼最後一個字符被修剪?最後的字符不會總是被修剪。它僅在特定輸入字符串中被修剪。對於例如如果輸入字符串是「TestInput」,它工作正常。我們正在使用FileHelpers版本1.爲什麼要修剪最後一個字符?

回答