如何将winforms中文本框中的值存储到矩阵中。我从文本框中取出值并将它们转换为int,现在我想将它们存储在一个二维数组中。
int m11 = Convert.ToInt16(textbox.Text);
int m12 = Convert.ToInt16(textbox.Text);
int m13 = Convert.ToInt16(textbox.Text);
我可以将它们存储在单维数组列表中,但如何将它们存储在二维数组中我是否必须使用任何for循环
List<Int[]> lstArray = new List<Int[]>();
int[] arr = new int[10];
arr[0] = m11;
arr[1] = m12;
arr[2] = m13;
lstArray.Add(arr);
int[,] matrixValues = new int[10,10];
答案 0 :(得分:1)
将文本框名称设为txt_0_0, txt_0_1,..txt_0_9, txt_1_0, txt_1_1,.. txt_1_9 ...n
应该像这样创建文本框
txt_0_0 txt_1_0 txt_2_0 txt_3_0 txt_4_0
txt_0_1 txt_1_1 txt_2_1 txt_3_1 txt_4_1
txt_0_2 txt_1_2 txt_2_2 txt_3_2 txt_4_2
txt_0_3 txt_1_3 txt_2_3 txt_3_3 txt_4_3
txt_0_4 txt_1_4 txt_2_4 txt_3_4 txt_4_4
然后创建一个这样的循环
string txtName = string.Empty;
int[,] aVal = new int[10, 10];
for (int i = 0; i < 10; i++)
{
for (int x = 0; x < 10; x++)
{
txtName = String.Format("txt_{0}_{1}", i, x);
string sVal = ((TextBox)this.Controls[txtName]).Text
int iVal = 0;
if (int.TryParse(sVal, out iVal))
aVal[i][x] = iVal;
}
}