0

このリストにボタンを追加したい

List<List<Button>> buttonss = new List<List<Button>>();

これは私のボタンを作成する方法です:

Button[][] buttons;

メソッドで(リストにもデータを入力しようとしましたが、正しくありません):

for (int r = 0; r < row; r++)
    {
       for ( int c = 0; c < col; c++)
           {
             buttons[r][c] = new Button();
             buttonss.Add(buttons[r][c]);
           }
    }

このボタン配列を使用してこのリストにデータを入力するにはどうすればよいButton[][]ですButton[,]

4

2 に答える 2

1

この 2 つの別々の方法で保存しようとしている理由はわかりませんが、本当に必要な場合は、内部の配列とリストをそれぞれ初期化する必要があります。

buttons = new Button[row][];
for (int r = 0; r < row; r++)
{ 
   buttons[r] = new Button[col];
   List<Button> rowList = new List<Button>();
   buttonss.Add(rowList);    
   for (int c = 0; c < col; c++)
   {
     buttons[r][c] = new Button();
     rowList.Add(buttons[r][c]);
   }
}

それを行う別の方法は、ジャグ配列に格納してリストに変換することです(またはその逆):

// From List<List> to Jagged Array
buttons = buttonss.Select(b=>b.ToArray()).ToArray();

// From Jagged Array to List<List>
buttonss = buttons.Select(b=>b.ToList()).ToList();
于 2013-03-26T15:48:20.167 に答える
1

LINQ を使用できますSelect

buttonss = buttons.Select(b => b.ToList()).ToList();
于 2013-03-26T15:49:10.240 に答える