C#里的字典怎么保存和载入?

我想做一个C#字典,可以选择键在一个richtextbox显示值,字典要保存在文件,不会写保存和读取,求代码。... 我想做一个C#字典,可以选择键在一个richtextbox显示值,字典要保存在文件,不会写保存和读取,求代码。 展开
 我来答
376710727
2016-05-19 · TA获得超过8937个赞
知道大有可为答主
回答量:2593
采纳率:100%
帮助的人:1271万
展开全部

1,保存。

有多重方式进行保存, 数据库,txt,都可以。

数据库需要去看ADO.NET,不算很难,一般存储都要用到数据库。

txt相对简单,效率会低一些(大数据量),但是不用部署数据库环境。

public Dictionary<key,value> Read(string path) //读txt文件 返回字典
        {
            StreamReader sr = new StreamReader(path,Encoding.Default);
            String line;
            var dic = new Dictionary<key,value>();
            while ((line = sr.ReadLine()) != null) 
            {
                var li= line.ToString().Splite(","); //将一行用,分开成键值对
                dic.Add(li.key,li.value);
            }
            return dic;
        }
        
 public void Write(string path,Dictionary<key,value> 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文件的追加行来实现,也可以全读出来,添加一个,重新覆盖一遍,都可以。

更多追问追答
追问
好像不包含 splite,var li= line.ToString().Splite(","); //将一行用,分开成键值对,这个应该怎么准确表达?
追答
是Split
中文输入法。。。见谅。。

string.Split( char value ) 是个字符串拆分函数,需要提供一个分隔点,就是()里的char值。
返回的结果是string[]类型的数组,
也就是说 “123.321”.Split( ' . ') 得到的结果是{"123","321"}
你把这个string[]构造成键值对就可以了。
玩转数据处理
2016-05-19 · 数据处理,Python,dotnet
玩转数据处理
采纳数:1613 获赞数:3794

向TA提问 私信TA
展开全部
可以提供数据下呢?
更多追问追答
追问
比如说,有若干键值对,001,好;002,较好;003,一般。。。。。。我希望在一个文本框里输入001,另一个richtextbox就显示它的值。另外添加一个button,可以继续加入新的键值对。这些数据要随时保存在硬盘上,下次打开程序可以查询。
追答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式