0

我想用这段代码从一行中读取:

            var data = File
        .ReadLines("itemdata.txt")
        .SelectMany(x => x.Split('\t'))
        .Select(x => x.Split('='))
        .Where(x => x.Length > 1)
        .ToDictionary(x => x[0].Trim(), x => x[1]);

来自包含多行相同文本的文本文件。示例:etcitem=armor 在第一行,etcitem=weapon 在第二行,并且只想从一个单独的行中读取。结果应该来自第一行:textsearch.Text = data["etcitem"];posbile 怎么样?谢谢!

4

1 回答 1

0

您可以使用 .Take() 仅选择第一行,如下所示:

var data = File
    .ReadLines("itemdata.txt")
    .Where(x => x.Contains("5624"))
    .Take(1)
    .SelectMany(x => x.Split('\t'))
    .Select(x => x.Split('='))
    .Where(x => x.Length > 1)
    .ToDictionary(x => x[0].Trim(), x => x[1]);

如果需要跳过任何行,也可以使用 .Skip()。

于 2013-10-26T13:43:49.263 回答