如何从一个Dictionary里取得第i个key和Value? 只知道i是多少,并不知道key是什么,如何从一个Dictionary里取得第i个key和Value?有什么好的方法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 int i = 2;Dictionary<string, Class1> cl = new Dictionary<string, Class1>(); Class1 s1 = new Class1("张三", 25); Class1 s2 = new Class1("李四", 26); Class1 s3 = new Class1("家六", 27); cl.Add(s1.Name, s1); cl.Add(s2.Name, s2); cl.Add(s3.Name, s3);int idx = 0; foreach (KeyValuePair<string, Class1> a in cl) {if(idx==i)//to do; MessageBox.Show(a.Value.Age.ToString() + " " + a.Value.Name.ToString());idx++; } private void button1_Click(object sender, EventArgs e) { Dictionary<string, object> objs = new Dictionary<string, object>(); objs.Add("name","eric"); objs.Add("age",18); Text(objs); } public void Text(Dictionary<string, object> objs) { Dictionary<string, object>.KeyCollection names = objs.Keys; string keyValue=""; foreach (string name in names) { string value = objs[name].ToString(); keyValue = keyValue + name + ":" + value + " "; } MessageBox.Show(keyValue); }结果为:name:eric age:18 本来就是键值对的数据结构,你要按序号来存取的话,要么,把顺序号作为key,要么就换成List吧 dictionary不能通过索引访问只能自己控制了.要不tolist下然后自己搞了 KeyValuePairOrdictionary[key]=value Dictionary是二叉树,你要直接得索引位的值,那你又按什么顺序来定索引呢?或者加个List变量,保存时也在list中保存一份,就能得到index时的值了 C# 调用C++做的WEN服务 WPF中,UI界面不能实时更新的问题,跪求solution!!!!!!! 怎样在datagridview中添加控件 具体的说就是:如何利用鼠标拖动,放大,缩小窗体上的绘图? 问下撤销代码?望人指导下,谢谢!!! ultraGrid的单元格如何自动换行 在C#里面如何保证垃圾搜集线程已经工作完成,或者保证在某段时间里面不要工作? DLL引用问题。 visual studio 2005含msdn ClientBookIn 方法没有采用0个参数的重载怎么解决? 关于windows服务 菜鸟说话了 C#
int i = 2;
Dictionary<string, Class1> cl = new Dictionary<string, Class1>();
Class1 s1 = new Class1("张三", 25);
Class1 s2 = new Class1("李四", 26);
Class1 s3 = new Class1("家六", 27);
cl.Add(s1.Name, s1);
cl.Add(s2.Name, s2);
cl.Add(s3.Name, s3);
int idx = 0;
foreach (KeyValuePair<string, Class1> a in cl)
{
if(idx==i)
//to do;
MessageBox.Show(a.Value.Age.ToString() + " " + a.Value.Name.ToString());
idx++;
}
private void button1_Click(object sender, EventArgs e)
{
Dictionary<string, object> objs = new Dictionary<string, object>();
objs.Add("name","eric");
objs.Add("age",18);
Text(objs);
}
public void Text(Dictionary<string, object> objs)
{ Dictionary<string, object>.KeyCollection names = objs.Keys;
string keyValue="";
foreach (string name in names)
{
string value = objs[name].ToString();
keyValue = keyValue + name + ":" + value + " ";
}
MessageBox.Show(keyValue); }
结果为:name:eric age:18
要不tolist下然后自己搞了
Or
dictionary[key]=value