//程序如下
public struct MyStructTest
{
public int Flag;
public Point pt;
public List<string> aryMark
};
List<MyStructTest> aryTest = new List<MyStructTest>(); MyStructTest test1;
test1.aryMark = new List<string>();
test1.aryMark.Add(""); for(int i = 0; i < 10; i +++
{
test1.Flag = i;
test1.pt = new Point(i,i);
test1.aryMark[0] = i.ToString(); aryTest.Add( test1 ); }//错误结果
//最后得到的aryTest中,所有元素的aryMark[0]值都是9。本来我希望的是从0-9
//哪位高人给解决一下
public struct MyStructTest
{
public int Flag;
public Point pt;
public List<string> aryMark
};
List<MyStructTest> aryTest = new List<MyStructTest>(); MyStructTest test1;
test1.aryMark = new List<string>();
test1.aryMark.Add(""); for(int i = 0; i < 10; i +++
{
test1.Flag = i;
test1.pt = new Point(i,i);
test1.aryMark[0] = i.ToString(); aryTest.Add( test1 ); }//错误结果
//最后得到的aryTest中,所有元素的aryMark[0]值都是9。本来我希望的是从0-9
//哪位高人给解决一下
解决方案 »
- 关于HttpWebRequest的cookie处理问题
- 菜鸟100分求助简单拆分算法
- File.Delete无法删除图片
- 客户端程序升级,为分载流量采用P2P方式
- treeview 问题请教
- 怎样将这样一个字符串里放的多个表明转变成内连接字符串
- InstallShield2010 如何跳过“许可证协议”对话框?
- 请问如何查询SQL数据库中的第N行记录啊???????
- C# 实现对控件 上按下左键修改位置,按下右键修改属性
- 在C#中如何实现回调?
- 问号问题,Sockets开发,发送给终端的汉字全是问号......
- DataGrid.UnSelect()和DataGrid.Select()对应DataGridView中的哪两个方法?
{
test1.Flag = i;
test1.pt = new Point(i,i);
test1.aryMark[0] = i.ToString(); aryTest.Add( test1 ); }每次都在加同一个对象,感觉是
{
MyStructTest test1;
test1.aryMark = new List<string>();
test1.aryMark.Add("");
}for(int i = 0; i < 10; i++)
{
MyStructTest test1 = makeMyStruct();
test1.Flag = i;
test1.pt = new Point(i,i);
test1.aryMark[0] = i.ToString(); aryTest.Add( test1 ); }
这里你每次都是将i放到数组[0]里啊,你的意思应该是写test1.aryMark[i]吧
{
public int Flag;
public Point pt;
public List<string> aryMark
};
List<MyStructTest> aryTest = new List<MyStructTest>(); MyStructTest test1;
test1.aryMark = new List<string>();
test1.aryMark.Add(""); for(int i = 0; i < 10; i +++
{
test1.Flag = i;
test1.pt = new Point(i,i);
test1.aryMark[i] = i.ToString();
} aryTest.Add( test1 );
static void Main(string[] args)
{
List<MyStructTest> aryTest = new List<MyStructTest>(); for (int i = 0; i < 10; i++)
{
MyStructTest test1;
test1.aryMark = new List<string>();
test1.aryMark.Add("");
test1.Flag = i;
test1.pt = new Point(i, i);
test1.aryMark[0] = i.ToString(); aryTest.Add(test1);
}
foreach (MyStructTest test in aryTest)
{
Console.WriteLine(test.aryMark[0]);
}
}
更改:把
MyStructTest test1;
test1.aryMark = new List<string>();
test1.aryMark.Add("");
三句放到循环里面去。
Macosx(结贴) 是正确的
test1.aryMark = new List<string>();
test1.aryMark.Add("");
三句放到循环里面去。
{
test1.Flag = i;
test1.pt = new Point(i,i);
test1.aryMark[0] = i.ToString();
}
aryTest.Add( test1 );
放外边啊,