FileHelpers:搜索结果

时间:2012-07-10 14:59:08

标签: c# windows parsing filehelpers

我使用强大的FileHelpers Library。但是有没有内置的方法来搜索生成的对象。

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

我的csv就像:key;值
我的意思是,是否有可能不使用数组[0],[1],[12] ...来访问对象 也许就像在代码示例中一样。

非常感谢!

1 个答案:

答案 0 :(得分: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();
    }
}