c#如果字典中存在键仍然在字典中添加值

use*_*844 3 c# linq dictionary

从数据表中我获取值并放入Dictionary<string,string>:

Dictionary<string, string> mydic= new Dictionary<string, string>();
Run Code Online (Sandbox Code Playgroud)

我的数据表是ex

Value     RowOrder    
page1       01 
page2       00
page3       00
Run Code Online (Sandbox Code Playgroud)

我正在使用LINQ获取RowOrder根据给定的值并将其放入mydic:

string id = (from DataRow dr in table3.Rows where (string)dr["Value"] == formula
             select (string)dr["RowOrder"]).FirstOrDefault();
mydic.Add(id,Value); 
Run Code Online (Sandbox Code Playgroud)

如果我运行此错误,则显示错误:

"已经添加了具有相同键的项目."

如何克服这一点.我想page1,page2,page3应该用数值增加01,00,00分别

DGi*_*bbs 8

在添加之前,您需要检查字典是否已有密钥:

if(!mydic.ContainsKey(id))
{
    mydic.Add(id, Value);
}
Run Code Online (Sandbox Code Playgroud)

如果您希望使用不同的数据结构需要考虑重复的id值,则字典不能包含具有相同键的两个项目.

也许是List<Tuple<string, string>>