作者F23ko (纯洁)
看板C_Sharp
标题Re: [问题] 数值转换
时间Sun Apr 25 17:44:14 2010
private int m;
private Point[]pos;
private Point[]pt;
private void setnet()
{
for(int i=0;i<m;i++)
{
pos[i].X=pt[i].X;
pos[i].Y=pt[i].Y;
}
}
private void button1_click(object sender,RoutedEventArgs e)
{
m++;
pos=new Point[m];
pt=new Point[m];
这两行的意思是:
以m的大小(阵列可容纳的数目)初始化阵列
所谓的初始化,就是把之前的东西丢掉,建立一个新的东西
你每次点滑鼠都建立一个新的阵列,旧的都被丢掉了,
当然只会存最後一个
正确的做法是把阵列在建构子中初始化
http://msdn.microsoft.com/zh-tw/library/ace5hbzh.aspx
然後在其他的函式中存取值
然後,我猜你下一个问题会问「超出阵列索引」的错误讯息
其实,阵列能容纳的数目是固定的
在要记录的点可能有无限多个的状况下,点的数目迟早会超出阵列大小
所以建议用List
至於List的用法在这边
http://msdn.microsoft.com/zh-tw/library/6sh2ey19.aspx
在要会用List之前,你要先去把泛型、class的观念给看过
另外,你应该已经有一些程式的基本观念了
那建议你去把c#使用手册彻底看过
把语法的系统彻彻底底的看懂了解
要不然很快就会再遇到问题
http://msdn.microsoft.com/zh-tw/library/67ef8sbd(v=VS.90).aspx
if(textbox1==""||texbox1==null)
{
MessageBox.Show("Null");
}
else
{
pt[m-1].X=Convert.ToDouble(textbox1.text);
pt[m-1].Y=Convert.ToDouble(textbox2.text);
}
}
--
我... 我一点都不糟糕啦!>///<
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.27.109.99
※ 编辑: F23ko 来自: 163.27.109.99 (04/25 17:47)
1F:推 dreamday1023:感谢大大的帮忙 我会尽弄清楚的 04/25 20:08
2F:→ andymai:真是佛心来的... 04/25 23:24
3F:→ F23ko:因为我还记得我五个月前找不到方向的那状况 ˋ(′_‵||)ˊ 04/26 00:50
4F:推 dreamday1023:真的很感谢大大 我是初学者 还有待大大的照顾 04/26 01:17