2012-07-10 91 views
1

我使用功能强大的FileHelpers Library。但有没有内置的方法来搜索生成的objets。
FileHelpers:正在搜索结果

var engine = new FileHelperEngine<Text>(); 
var res = engine.ReadFile("myfile.csv"); 
string result = res["key"].value; 

我的CSV是这样的:密钥;值
我的意思是,是否有可能不与阵列[0],[1],[12] ...
也许像在访问的对象代码示例。

非常感谢!

回答

2

您可以将生成的数组通过LINQ与转换成词典:

var dictionary = validRecords.ToDictionary(r => r.Key, r => r.Value); 

下完整的程序演示的办法。

[DelimitedRecord(",")] 
public class ImportRecord 
{ 
    public string Key; 
    public string Value; 
} 

class Program 
{ 
    static void Main(string[] args) 
    { 
     var engine = new FileHelperEngine<ImportRecord>(); 

     string fileAsString = @"Key1,Value1" + Environment.NewLine + 
           @"Key2,Value2" + Environment.NewLine; 

     ImportRecord[] validRecords = engine.ReadString(fileAsString); 

     var dictionary = validRecords.ToDictionary(r => r.Key, r => r.Value); 

     Assert.AreEqual(dictionary["Key1"], "Value1"); 
     Assert.AreEqual(dictionary["Key2"], "Value2"); 

     Console.ReadKey(); 
    } 
} 
+0

这就是我认为的,这是很好,你确认我的想法。谢谢 ! – MaT 2012-07-11 08:28:59