gpt4 book ai didi

c# - 我如何写入文本文件并从文本文件读回字典>?

转载 作者:行者123 更新时间:2023-11-30 13:39:14 32 4
gpt4 key购买 nike

为了阅读,我尝试了这段代码:

在 Form1 的顶部我做了:

Dictionary<string, List<string>> LocalyKeyWords = new Dictionary<string, List<string>>();

在我做的构造函数中:

keywords = @"d:\Keywords.txt";
if (File.Exists(keywords))
{
LoadKeys(LocalyKeyWords, keywords);
}

LoadKeys函数:

private void LoadKeys(Dictionary<string,List<string>> disctionary, string FileName)
{
var lines = File.ReadAllLines(keywords).Select(l => l.Split(','));
var dict = new Dictionary<string, List<string>>();
foreach(var splits in lines)
{
var key = splits.First();
var value = splits.Skip(1).ToList();
try {dict.Add(key, value);
}
catch(Exception ex)
{ } }
}

没有异常,但在调用函数并完成所有操作后的构造函数中,LocalyKeyWords 为空。


这就是我今天将键和值写入文件的方式:

private void button6_Click(object sender, EventArgs e)
{

using (var w = new StreamWriter(keywords))
{
crawlLocaly1 = new CrawlLocaly();
crawlLocaly1.StartPosition = FormStartPosition.CenterParent;
DialogResult dr = crawlLocaly1.ShowDialog(this);
if (dr == DialogResult.OK)
{
if (LocalyKeyWords.ContainsKey(mainUrl))
{
LocalyKeyWords[mainUrl].Clear();
LocalyKeyWords[mainUrl].Add(crawlLocaly1.getText());
}
else
{
LocalyKeyWords[mainUrl] = new List<string>();
LocalyKeyWords[mainUrl].Add(crawlLocaly1.getText());
}
foreach (KeyValuePair<string, List<string>> kvp in LocalyKeyWords)
{
w.WriteLine(kvp.Key + "," + string.Join(",", kvp.Value));
}
}
}
}

也许现在您将能够解决在构造函数中加载键和值的问题,并解决每次我在 button6 单击事件中更改键或值时如何编写的问题。

最佳答案

var lines = File.ReadAllLines("path/to/file").Select(l => l.Split(','));
var dict = new Dictionary<string, List<string>();
foreach(var splits in lines)
{
var key = splits.First();
var value = splits.Skip(1).ToList();
try {dict.Add(key, value);}
catch(Exception ex) { //TODO: handle }
}
return dict;

关于c# - 我如何写入文本文件并从文本文件读回字典<string,List<string>>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12844674/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com