作者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)
推 dreamday1023:感謝大大的幫忙 我會盡弄清楚的 04/25 20:08
→ andymai:真是佛心來的... 04/25 23:24
→ F23ko:因為我還記得我五個月前找不到方向的那狀況 ˋ(′_‵||)ˊ 04/26 00:50
推 dreamday1023:真的很感謝大大 我是初學者 還有待大大的照顧 04/26 01:17