1

私は強力なFileHelpers Libraryを使用しています。しかし、生成されたオブジェクトを検索する組み込みの方法はありますか。

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

私のcsvは次のようなものです:key;value
つまり、配列[0]、[1]、[12]を持つオブジェクトにアクセスできないことは可能ですか...
おそらくコード例のようです。

どうもありがとう !

4

1 に答える 1

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();
    }
}
于 2012-07-11T08:19:27.143 に答える