Dictionary<int, string> dic = new Dictionary<int, string>();
dic.Add(2,"aaa");
dic = dic.ToDictionary(5,x =>x.Value); //生成新的键值对我重新以数字5为键,以原键值对的value值为值,转换成新的键值对,为什么不行?
dic.Add(2,"aaa");
dic = dic.ToDictionary(5,x =>x.Value); //生成新的键值对我重新以数字5为键,以原键值对的value值为值,转换成新的键值对,为什么不行?
解决方案 »
- 问个问题
- 有用VSS的请教个问题
- 基类和子类在类型(Type)转换问题
- C#新手,弱问一下
- ComboBox.SelectedValue传过来的值不对是什么原因????????????????????????????
- 如何禁止用户修改保护的文件
- printDocument1_PrintPage里e.Graphics.DrawString绘制的怎么分页???
- winfrom根据一条记录的某一字段作为条件,点击按钮把这条记录的另一个字段数据自动的填写在相应控件上
- [SOS] Control.Invoke()方法的疑问,各路高手/愚翁老大请进! [SOS]
- 代码中怎么执行*.cmd文件啊?需要调用的外部程序是什么?
- (WebForm)如何让gridview中选定行的指定列处于编辑状态??
- 执行多线程,程序安装后不显示新窗口了。但在VS里面可以显示
岂不是KEY都被修改成了 5?并且你这样用法也不对啊没有这样的重载方法
public void Linq56()
{
var scoreRecords = new[] { new {Name = "Alice", Score = 50},
new {Name = "Bob" , Score = 40},
new {Name = "Cathy", Score = 45}
};
var scoreRecordsDict = scoreRecords.ToDictionary(sr => sr.Name);
Console.WriteLine("Bob's score: {0}", scoreRecordsDict["Bob"]);
}
void Main()
{
Dictionary<int, string> dic = new Dictionary<int, string>();
dic.Add(2,"aaa");
dic.Add(3,"bbb");
var query=dic.SingleOrDefault(d=>d.Key ==2);
if(!dic.Any(d=>d.Key ==5))
{
dic.Remove(query.Key);
dic.Add(5,query.Value);
}
}
麻烦您看一下
不然ADD会出错