所以,我写了下面的代码,用我从一个名为String的文件中读取的字符填充我的多维板。例如,如果我的文件是:
abc(新行(def板阵列必须填充:{‘a’,‘b’,‘c’},{‘d’,‘e’,‘f’}(板的尺寸为[计数器,长度](
代码:
char[,] board = new char[counter, length];
int k = 0;
while (((line = file.ReadLine()) != null) && (k < counter))
{
char[] characters = line.ToCharArray();
int l = 0;
while (l < length)
{
foreach (char ch in characters)
{
board[k, l] = ch;
}
l++;
}
k++;
}
没有立即看到它,但问题是while(l<length(循环中的for循环。
for循环对字符串中的字符进行迭代,但l
在此迭代过程中不会更改。
您的代码的固定版本如下。
注意:字符串已经是char
s的序列,所以不必将其转换为ToCharArray((。
char[,] board = new char[counter, length];
int k = 0;
while (((line = file.ReadLine()) != null) && (k < counter))
{
int l = 0;
while (l < length)
{
// line is a string and we can access its characters with indexing
board[k, l] = line[l];
l++;
}
k++;
}