C#中声明使用二维数组的问题

时间:2022-08-30 19:47:36
如题在c#中怎么声明一个动态的二维数组并将数据添加到数组?
例如:现在不确定这个数组的行数,只知道有10列,我想实现用一个textbox每次添加一行的10个数据,添加几次就有几个行,这要怎么实现?尤其是行数不确定,该怎么声明呢?

string input = textBox1.Text.ToString();//获取textbox中的字符串
string[] sArray = input_hand.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);//按空格分隔截取单个字符存到一个一维数组中

现在怎么实现到二维数组的存放呢?

6 个解决方案

#1


这样的需求,最好别用二维数组,你用List<string[]>或DataTable比较好

List<string[]> lst = new List<string[]>();

string input = textBox1.Text.ToString();//获取textbox中的字符串
string[] sArray = input_hand.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);//按空格分隔截取单个字符存到一个一维数组中

lst.Add(sArray);


#2


引用 1 楼 gxingmin 的回复:
这样的需求,最好别用二维数组,你用List<string[]>或DataTable比较好

C# code
List<string[]> lst = new List<string[]>();

string input = textBox1.Text.ToString();//获取textbox中的字符串
string[] sArray = input_hand.Split(new st……

木有用过这个,用这个有多个不规则遍历的时候方便么?

#3


引用 2 楼 shuiyuefengqing 的回复:
引用 1 楼 gxingmin 的回复:

这样的需求,最好别用二维数组,你用List<string[]>或DataTable比较好

C# code
List<string[]> lst = new List<string[]>();

string input = textBox1.Text.ToString();//获取textbox中的字符串
string[] sArra……


也适合的,一个行代表一个 list 元素,而每一个列的值就是 string[] 中得元素

#4


List怎么不规则都可以遍历

//遍历代码
foreach(string []sArray in lst)
{
   //每个一维数组
}

#5


引用 4 楼 gxingmin 的回复:
List怎么不规则都可以遍历

C# code
//遍历代码
foreach(string []sArray in lst)
{
   //每个一维数组
}

比如说第三行的值为1 2 3 4 5 6 7 8 9 0
要怎么样才能第三行第3列的值呢?

#6


//遍历代码
for(int i=0;i<lst.Count;i++)
{
   if(i==2) //第三行
   {  
      string s=lst[i][2]; //第三行第三列的值
      MessageBox.Show("第三行第三列的值为:" + s);
   }
}

如果你知道要取具体某行某列的值,甚至都不用遍历,直接就能从List里取
MessageBox.Show("第三行第三列的值为:" + lst[2][2]);

#1


这样的需求,最好别用二维数组,你用List<string[]>或DataTable比较好

List<string[]> lst = new List<string[]>();

string input = textBox1.Text.ToString();//获取textbox中的字符串
string[] sArray = input_hand.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);//按空格分隔截取单个字符存到一个一维数组中

lst.Add(sArray);


#2


引用 1 楼 gxingmin 的回复:
这样的需求,最好别用二维数组,你用List<string[]>或DataTable比较好

C# code
List<string[]> lst = new List<string[]>();

string input = textBox1.Text.ToString();//获取textbox中的字符串
string[] sArray = input_hand.Split(new st……

木有用过这个,用这个有多个不规则遍历的时候方便么?

#3


引用 2 楼 shuiyuefengqing 的回复:
引用 1 楼 gxingmin 的回复:

这样的需求,最好别用二维数组,你用List<string[]>或DataTable比较好

C# code
List<string[]> lst = new List<string[]>();

string input = textBox1.Text.ToString();//获取textbox中的字符串
string[] sArra……


也适合的,一个行代表一个 list 元素,而每一个列的值就是 string[] 中得元素

#4


List怎么不规则都可以遍历

//遍历代码
foreach(string []sArray in lst)
{
   //每个一维数组
}

#5


引用 4 楼 gxingmin 的回复:
List怎么不规则都可以遍历

C# code
//遍历代码
foreach(string []sArray in lst)
{
   //每个一维数组
}

比如说第三行的值为1 2 3 4 5 6 7 8 9 0
要怎么样才能第三行第3列的值呢?

#6


//遍历代码
for(int i=0;i<lst.Count;i++)
{
   if(i==2) //第三行
   {  
      string s=lst[i][2]; //第三行第三列的值
      MessageBox.Show("第三行第三列的值为:" + s);
   }
}

如果你知道要取具体某行某列的值,甚至都不用遍历,直接就能从List里取
MessageBox.Show("第三行第三列的值为:" + lst[2][2]);