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迭代器是只读的,所以您不能给它赋值。