C# 如何检查字典中是否存在键,然后在使用.ToDictionary()时替换其值

C# 如何检查字典中是否存在键,然后在使用.ToDictionary()时替换其值,c#,dictionary,httpwebresponse,C#,Dictionary,Httpwebresponse,我有一本字典如下: private static Dictionary<string, string> loginDetails = new Dictionary<string, string>(); 我通过从字符串parseResult中获取键和值来更新代码中的字典,如下所示: loginDetails = parseResult.Split(new[] { Environment.NewLine }, StringSplitOptions.None) .ToDict

我有一本字典如下:

private static Dictionary<string, string> loginDetails = new Dictionary<string, string>();
我通过从字符串parseResult中获取键和值来更新代码中的字典,如下所示:

loginDetails = parseResult.Split(new[] { Environment.NewLine }, StringSplitOptions.None)
.ToDictionary(x => x.Split(':')[0], x => x.Split(':')[1]);
我想知道如何检查字典中是否存在键,如果存在,则在维护.ToDictionary()时用新获得的值替换它的值


谢谢。

ToDictionary正在创建一个新的dictionary实例,它将在每次运行时替换现有实例。如果要保留现有词典条目并添加到其中,则应改用foreach。类似于
parseResult.Split(new[]{Environment.NewLine},StringSplitOptions.None).ForEach(x=>loginDetails[x.Split(':'))[0]]=x.Split(':')[1])
为什么需要使用
ToDictionary
?您可以在SQL端进行筛选吗?@Grax32“ToDictionary正在创建一个新的字典实例来替换现有实例”。不,它不会修改或替换任何内容。它只是创建了一个新的字典。@Zer0示例代码将ToDictionary的结果分配给loginDetails变量,以替换字典的上一个实例。@Grax32我以为您指的是ToDictionary方法本身。但是,上面的代码是用返回值替换现有的字典。
loginDetails = parseResult.Split(new[] { Environment.NewLine }, StringSplitOptions.None)
.ToDictionary(x => x.Split(':')[0], x => x.Split(':')[1]);