无法清除数组和字符串
本文关键字:字符串 清除数组 | 更新日期: 2023-09-27 17:56:20
我有一个以下程序,它从 4 个文本框中获取字符串并将它们放入数组中,并在用户单击 btnOK 后显示消息(从数组创建)。我有一个名为 btnClear 的按钮,如果单击它应该清除消息字符串和数组,但它没有这样做,我不太确定为什么,有人可以看看并提出建议。
string[,] namesTable = new string[10, 4];
int row = 0;
string message = "";
private void btnOK_Click_1(object sender, EventArgs e)
{
namesTable[row, 0] = txtFirstName.Text;
namesTable[row, 1] = txtSurname.Text;
namesTable[row, 2] = txtPosition.Text;
namesTable[row, 3] = txtComment.Text;
row++;
message = "Name.'tSurname'tPosition'tComment'n";
for (int i = 0; i < namesTable.GetLength(0); i++)
{
if (namesTable[i, 0] != null)
{
for (int j = 0; j < namesTable.GetLength(1); j++)
{
message += namesTable[i, j] + "'t";
}
message += "'n";
}
}
MessageBox.Show(message, "Names Table");
}
private void btnClear_Click_1(object sender, EventArgs e)
{
Array.Clear(namesTable, 0, 4);
message = "";
}
如果您需要更多信息,请告诉我。
因此,清除的元素的范围在多维数组中从一行换行到另一行您应该使用:
Array.Clear(namesTable, 0, 40);
// ^ ^
// | |_The number of elements to clear.
// |
// |____The starting index of the range of elements to clear.
如果要
清除所有数据,请重新初始化所有数据:
private void btnClear_Click_1(object sender, EventArgs e)
{
this.namesTable = new string[10, 4];
this.row = 0;
this.message = "";
}
您正在从索引 0 中清除数组中的 4 个值。但是,插入代码将插入row
索引处。这可能是你的问题。row
的价值是什么?
要清除数组中的所有内容,只需执行以下操作:
namesTable = new string[10, 4];
row = 0;