C#里的字典怎么保存和载入?
答案:2 悬赏:10 手机版
解决时间 2021-04-22 22:21
- 提问者网友:缘字诀
- 2021-04-22 17:33
我想做一个C#字典,可以选择键在一个richtextbox显示值,字典要保存在文件,不会写保存和读取,求代码。
最佳答案
- 五星知识达人网友:渡鹤影
- 2021-04-22 17:59
1,保存。
有多重方式进行保存, 数据库,txt,都可以。
数据库需要去看ADO.NET,不算很难,一般存储都要用到数据库。
txt相对简单,效率会低一些(大数据量),但是不用部署数据库环境。
public Dictionary Read(string path) //读txt文件 返回字典
{
StreamReader sr = new StreamReader(path,Encoding.Default);
String line;
var dic = new Dictionary();
while ((line = sr.ReadLine()) != null)
{
var li= line.ToString().Splite(","); //将一行用,分开成键值对
dic.Add(li.key,li.value);
}
return dic;
}
public void Write(string path,Dictionary mydic) //将字典写入txt
{
FileStream fs = new FileStream(path, FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
//开始写入
foreach(var d in mydic)
{
sw.Write(d.key.+","+d.value); //键值对写入,用逗号隔开
}
//清空缓冲区
sw.Flush();
//关闭流
sw.Close();
fs.Close();
}添加新的键值对可以用txt文件的追加行来实现,也可以全读出来,添加一个,重新覆盖一遍,都可以。
有多重方式进行保存, 数据库,txt,都可以。
数据库需要去看ADO.NET,不算很难,一般存储都要用到数据库。
txt相对简单,效率会低一些(大数据量),但是不用部署数据库环境。
public Dictionary
{
StreamReader sr = new StreamReader(path,Encoding.Default);
String line;
var dic = new Dictionary
while ((line = sr.ReadLine()) != null)
{
var li= line.ToString().Splite(","); //将一行用,分开成键值对
dic.Add(li.key,li.value);
}
return dic;
}
public void Write(string path,Dictionary
{
FileStream fs = new FileStream(path, FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
//开始写入
foreach(var d in mydic)
{
sw.Write(d.key.+","+d.value); //键值对写入,用逗号隔开
}
//清空缓冲区
sw.Flush();
//关闭流
sw.Close();
fs.Close();
}添加新的键值对可以用txt文件的追加行来实现,也可以全读出来,添加一个,重新覆盖一遍,都可以。
全部回答
- 1楼网友:胯下狙击手
- 2021-04-22 19:05
可以提供数据下呢?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯