在课程定义
中 public String[,] Sodoku_Gri = new String [9, 9];
public void populate_grid_by_file()
{
TextReader tr = new StreamReader("data.txt");
// read a line of text
String store_data_from_file = tr.ReadLine();
for (int i = 0; i < Sodoku_Gri.GetLength(0); i++)
{
for (int j = 0; j < Sodoku_Gri.GetLength(1); j++)
{
Sodoku_Gri[i, j] = __________??
}
}
tr.Close();
}
在data.txt里面写着“1--2--3--3-4-4-5 --- 7-3-4 --- 7--5--3-6-- 7 --- ------- 4--3-2--4-5 --- 3--2-6--7 4 --- 4--3-” 我必须从文件中读取它并将它们放在c#中的2d数组中!在c ++中很容易。我是初学者!在c ++中,我们也应该在字符串中索引以访问字符串中的每个字符串!我能在二维数组中写这些数据吗?所以Sodoku_Grid [9,9]中的81个空格用文件中的数据填充!
答案 0 :(得分:0)
tr.ReadLine()
移动到最里面的循环中。您可以使用索引器访问字符串中的单个字符:
Sodoku_Gri[i,j] = store_data_from_file[j]
所以在C#中也很容易。
答案 1 :(得分:0)
假设您的Sodoku_Gri是以这种方式声明的二维char数组
char[,] Sodoku_Gri = new char[9,9];
然后该行包含已知数字的数独游戏的位置 应该以这种方式计算纠正char的索引
Sodoku_Gri[i, j] = store_data_from_file[i*9+j];
(顺便说一句,该行导致无效的数独模式)
编辑:如果Sodoku_Gri被声明为
,请在下方查看您的评论string[,] Sodoku_Gri = new string[9,9];
然后您需要将字符串转换添加到索引字符
Sodoku_Gri[i, j] = store_data_from_file[i*9+j].ToString();