【问题标题】:how can copy file to dictionary in c# [closed]如何在c#中将文件复制到字典[关闭]
【发布时间】:2010-06-24 05:16:51
【问题描述】:

如何在c#中将文件复制到字典中

【问题讨论】:

  • 结果应该是怎样的? Dictionary 是值对的集合,您需要 (lineN number, text) 集合还是其他什么?
  • 14 个问题,0 个接受,再见。

标签: c#


【解决方案1】:

嗯,你还没有指定文件格式。如果它是“键值”,那么您可以执行以下操作:

string[] lines = File.ReadAllLines("file.txt");
var dictionary = lines.Select(line => line.Split(' '))
                      .ToDictionary(bits => bits[0],
                                    bits => bits[1]);

请注意,我实际上并不喜欢一次读取所有行 - 如果文件很小,那很好,但如果文件很大,那就不好了。编写一个一次读取一行的方法相当简单:

public static IEnumerable<string> EnumerableLines(string file)
{
    using (TextReader reader = File.OpenText(file))
    {
        string line;
        while ((line = reader.ReadLine()) != null)
        {
            yield return line;
        }
    }
}

您可以针对文本编码等进行调整。

现在查询变为:

var dictionary = EnumerableLines("file.txt")
                      .Select(line => line.Split(' '))
                      .ToDictionary(bits => bits[0],
                                    bits => bits[1]);

【讨论】:

    猜你喜欢
    • 2013-08-07
    • 1970-01-01
    • 1970-01-01
    • 2016-08-13
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 2023-01-20
    • 1970-01-01
    相关资源
    最近更新 更多