从winform C#存储矩阵的值

时间:2014-07-29 01:55:32

标签: c# arrays winforms

如何将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];

1 个答案:

答案 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;
   }
}