Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#迭代二维按钮数组_C#_Arrays_Button - Fatal编程技术网

C#迭代二维按钮数组

C#迭代二维按钮数组,c#,arrays,button,C#,Arrays,Button,我试着迭代一个二维的按钮数组,就像这样 Button[,] buttonsArray = new Button[row,col]; foreach(Button button in buttonsArray) { button = new Button(); } 但是我得到了下一个错误:“错误不能分配给‘按钮’,因为它是‘foreach迭代变量’” 我在做什么?编译器消息说明了一切-您试图为按钮分配一个新值,但迭代变量(由foreach语句声明的变量)是只读的。foreach循环只能用于

我试着迭代一个二维的按钮数组,就像这样

Button[,] buttonsArray = new Button[row,col];
foreach(Button button in buttonsArray)
{
   button = new Button();
}
但是我得到了下一个错误:“错误不能分配给‘按钮’,因为它是‘foreach迭代变量’”


我在做什么?

编译器消息说明了一切-您试图为
按钮
分配一个新值,但迭代变量(由
foreach
语句声明的变量)是只读的。
foreach
循环只能用于迭代集合中的现有内容-不能用于更改集合中的内容。(请注意,如果更改集合引用的对象内的数据,则实际上不会更改集合中的值,该值只是对该对象的引用。)

我怀疑你真的想要这样的东西:

for (int i = 0; i < row; i++)
{
    for (int j = 0; j < col; j++)
    {
        buttonsArray[i, j] = new Button();
    }
}
for(int i=0;i
编译器消息说明了一切-您试图为
按钮
分配一个新值,但迭代变量(由
foreach
语句声明的变量)是只读的。
foreach
循环只能用于迭代集合中的现有内容-不能用于更改集合中的内容。(请注意,如果更改集合引用的对象内的数据,则实际上不会更改集合中的值,该值只是对该对象的引用。)

我怀疑你真的想要这样的东西:

for (int i = 0; i < row; i++)
{
    for (int j = 0; j < col; j++)
    {
        buttonsArray[i, j] = new Button();
    }
}
for(int i=0;i
您不能在
foreach
循环中修改变量的值。要避免这种情况,应使用常规的
for
循环:

for(int i = row; i < row; i++)
{
    for(int j = col; j < col; j++)
    {
       buttonsArray[i, j] = new Button();
    }
}
for(int i=row;i
您不能在
foreach
循环中修改变量的值。要避免这种情况,应使用常规的
for
循环:

for(int i = row; i < row; i++)
{
    for(int j = col; j < col; j++)
    {
       buttonsArray[i, j] = new Button();
    }
}
for(int i=row;i
foreach迭代器是只读的,因此您不能给它赋值。foreach迭代器是只读的,所以您不能给它赋值。