C# 将IEnumerable转换为多维数组
是否有一种很好的方法可以更改以前的代码:C# 将IEnumerable转换为多维数组,c#,arrays,multidimensional-array,C#,Arrays,Multidimensional Array,是否有一种很好的方法可以更改以前的代码: char[][] board = Enumerable.Repeat(Enumerable.Repeat('-', 7).ToArray(), 7).ToArray(); 所以它使用多维数组来代替 例如 数组应表示这种数据结构: ------- ------- ------- ------- ------- ------- ------- char[,]board=新字符[7,7]; 对于(int i=0;i
char[][] board = Enumerable.Repeat(Enumerable.Repeat('-', 7).ToArray(), 7).ToArray();
所以它使用多维数组来代替
例如
数组应表示这种数据结构:
-------
-------
-------
-------
-------
-------
-------
char[,]board=新字符[7,7];
对于(int i=0;i<7;i++)
{
对于(int k=0;k<7;k++)
{
板[i,k]='-';
}
}
你在找这个吗?为什么你认为后者比前者好?这里的可能副本是另一个@KirkWoll前者不起作用,当我试图分配
board[5][2]='*'
时,它似乎分配在每一行,而不仅仅是第六行。@theonlygusti,请提供一份说明您所描述行为的MCVE。我可以保证你所描述的不是C#中发生的事情。是的,但是我觉得这真的很难看。这是初始化2d数组的标准方法:)可能你可以把它放在初始化器方法中,然后用参数调用它
-------
-------
-------
-------
-------
-------
-------
char[,] board = new char[7,7];
for(int i =0; i< 7; i++)
{
for (int k = 0; k < 7; k++)
{
board[i,k] = '-';
}
}