我目前正在努力完成一項我正在努力完成的家庭作業任務。該計劃的目標是:C#從窗體窗體文本框輸入數組
創建一個程序,允許用戶記錄和查看最多1000個事件的名稱。事件的名稱將被存儲在一個數組中。名稱只能按順序存儲和查看:我,第一次用戶按下「Set」存儲名稱時,它將被放置在數組的索引0中;用戶第二次存儲將存儲在索引1中的名稱等。類似地,當用戶第一次按下「查看」時,在數組的索引0中找到的項目被顯示給用戶;用戶按壓「查看」,在所述陣列的索引1中找到的項的第二時間顯示等
- 當用戶按下「設置」按鈕(btnSet),事件名稱被插入如下所述依次到下一個空閒索引的數組中。插入數組的名稱取自txtEventName。
- 當用戶按下按鈕「查看」(btnView)時,將向用戶顯示順序查看的下一個事件的名稱(如上所述)。事件名稱在txtName中顯示給用戶。
我目前擁有的代碼:
namespace ArrayHW
{
public partial class Form1 : Form
{
int[] eventsArray;
const int SIZE = 1000;
public Form1()
{
InitializeComponent();
}
private void btnSet_Click(object sender, EventArgs e)
{
eventsArray = new int[SIZE];
for (int index = 0; index < eventsArray.Length - 1; index++)
{
eventsArray[index] = Convert.ToInt32(txtEventName.Text);
}
}
private void btnView_Click(object sender, EventArgs e)
{
for (int index = 0; index < eventsArray.Length- 1; index++)
{
Debug.WriteLine(eventsArray[index]);
txtName.Text = Convert.ToString(eventsArray[index]);
}
}
}
}
當我運行的形式,我只是得到的結果爲指數= 0,1,2,3,等或任何我剛剛輸入到陣列中
private void btnSet_Click(object sender, EventArgs e)
{
eventsArray = new int[SIZE];
for (int index = 0; index < eventsArray.Length - 1; index++)
{
eventsArray[index] = Convert.ToInt32(txtEventName.Text);
}
}
而不是將其顯示出來以連續的順序等它應該。任何人都可以告訴我一個更好的方法來解決這個問題,或者幫我找出我做錯了什麼?非常感謝你。
您好,非常感謝您的回覆。我用新的代碼嘗試了你的解決方案,但是現在我的輸出始終爲0。我是否錯誤地聲明瞭某些內容? '\t \t int [] eventsArray = new int [SIZE]; \t \t int index = 0; \t \t const int SIZE = 1000; public Form1() { InitializeComponent(); } private void btnSet_Click(object sender,EventArgs e) { eventsArray = new int [SIZE]; eventsArray [index ++] = Convert.ToInt32(txtEventName.Text); Debug.WriteLine(eventsArray [index ++]); }' – Zack
@Zack - 我的代碼在'btnSet_Click'方法中沒有'eventsArray = new int [SIZE];'。你爲什麼把它放進去?當你拿出來會發生什麼? – Enigmativity
@Zack - 爲什麼你把'Debug.WriteLine(eventsArray [index ++])'?這是行不通的。 – Enigmativity