用文件C#中的字符填充多维数组



所以,我写了下面的代码,用我从一个名为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在此迭代过程中不会更改。

您的代码的固定版本如下。

注意:字符串已经是chars的序列,所以不必将其转换为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++;
}  

最新更新