namespace dic2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
Dictionary<int, string> datatable = new Dictionary<int, string>();
datatable.Add(1, "hello 1");
datatable.Add(2, "hello 2");
var list = datatable.ToList();
for (int i = 0; i < list.Count; i++)
{
if (list[i].Value == "hello 2")
{
list[i].Value = "hello";//报错
MessageBox.Show(list[i].Value, "out");
}
}
}
}
}怎样既实现遍历又能修改value值呢?
忘大牛赐教!!!
解决方案 »
- 谁帮忙用VS2005的C#做一个计算机或者扫雷,我想看看过程,自己做的bug很多
- 求关于车牌自动识别相关技术。
- 如何将DataGridView选中行添加到另一个DataGridView控件中?
- 关于uml的泳道问题
- 散分呀~小弟目前想学学关于SOAP的编程,但是一点思路都没有,那位大侠行行好,指点一下~~~
- this.sqlconnection.open();失败时要等好长时间,如何设置连接失败时5s内就有反馈信息?
- webbrowser下拉框选择
- 如何打印窗体的内容?
- 关于DATASET的问题
- 特急问题,在线等待!如何实现“啊”与“B0A1”转换?
- 由于目标机器积极拒绝,无法连接
- 有关C#的编程问题
datatable.Add(1, "hello 1");
datatable.Add(2, "hello 2");
int[] keys = datatable.Keys.ToArray();
for (int i = 0; i < keys.Length; i++)
{
if (datatable[keys[i]] == "hello 2")
{
datatable[keys[i]] = "hello";
}
}
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
struct hello
{
public int a;
public string b;
public hello(int A, string B)
{
a = A;
b = B;
} }
private void button1_Click(object sender, EventArgs e)
{
Dictionary<int, hello> datatable = new Dictionary<int, hello>();
hello hi=new hello(1,"hello1");
datatable.Add(1, hi);
hi=new hello(2,"hello2");
datatable.Add(2, hi); int[] keys = datatable.Keys.ToArray();
for(int i=0;i<keys.Length;i++)
{
if(datatable[keys[i]].a==1)
{
datatable[keys[i]].b = "ok";//出错,无法修改该处,因为左侧不是变量(系统提示)
MessageBox.Show(datatable[keys[i]].b, "");
}
}
}
}
}
这个原因是???
struct不行的。原因我详细的分析在博客中了
http://blog.csdn.net/wuyazhe/archive/2010/06/18/5676881.aspx