C#编程字典提示“已添加了具有相同键的项。”这是什么原因?
打开的文件内容明明只有一行,哪里来的相同键呢?运行到Add处提示错误,a,b值都有,求指教。publicDictionary<string,string>Read(){S...
打开的文件内容明明只有一行,哪里来的相同键呢?运行到Add处提示错误,a,b值都有,求指教。
public Dictionary<string ,string > Read()
{
StreamReader sr = new StreamReader(@".//infomation/Docshen.dat", Encoding.Default);
String line;
var dic = new Dictionary<string , string>();
while ((line = sr.ReadLine()) != null)
{
string[] li = line.ToString().Split(':');
string a = li[0];
string b = li[1];
dic.Add(a, b); ;
}
sr.Close();
return dic;
} 展开
public Dictionary<string ,string > Read()
{
StreamReader sr = new StreamReader(@".//infomation/Docshen.dat", Encoding.Default);
String line;
var dic = new Dictionary<string , string>();
while ((line = sr.ReadLine()) != null)
{
string[] li = line.ToString().Split(':');
string a = li[0];
string b = li[1];
dic.Add(a, b); ;
}
sr.Close();
return dic;
} 展开
2个回答
展开全部
已添加了具有相同键的项是指字典以存在相同的值。你检查你的a值是否有重复,b值重复无所谓。
追问
打开的文件内容只有一行,不会有重复的,那些声明之类的有没问题?
追答
public Dictionary<string ,string > Read()
{
StreamReader sr = new StreamReader(@".//infomation/Docshen.dat", Encoding.Default);
String line;
var dic = new Dictionary<string , string>();
line = sr.ReadLine();
string[] li = line.ToString().Split(':');
string a = li[0];
string b = li[1];
dic.Add(a, b); ;
sr.Close();
return dic;
}
试试看。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我测试了一下,没遇到你说的错误。可以把你文本的具体内容贴出来看看。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询