Vb.net VB将文本文件读入2D数组?
我正在尝试创建一个数独游戏,在VB中使用加载和保存游戏功能,我想知道如何加载一个保存文件(数独板上的数字和时间分数),并使文件中的数字与它们在新板上的确切位置相对应。为了保存文件,我有以下内容:Vb.net VB将文本文件读入2D数组?,vb.net,file-io,multidimensional-array,sudoku,Vb.net,File Io,Multidimensional Array,Sudoku,我正在尝试创建一个数独游戏,在VB中使用加载和保存游戏功能,我想知道如何加载一个保存文件(数独板上的数字和时间分数),并使文件中的数字与它们在新板上的确切位置相对应。为了保存文件,我有以下内容: Private Sub saveBoard(fileName As String) Dim f As StreamWriter = New StreamWriter(fileName) For col = 0 To 8 Dim sudokuLine = ""
Private Sub saveBoard(fileName As String)
Dim f As StreamWriter = New StreamWriter(fileName)
For col = 0 To 8
Dim sudokuLine = ""
For row = 0 To 8
If (board(row, col).Text = "") Then
sudokuLine += "0"
Else : sudokuLine += board(row, col).Text
End If
sudokuLine += " "
Next
f.WriteLine(sudokuLine)
Next
f.WriteLine(lblMinutes.Text + " " + lblSeconds.Text)
f.Close()
End Sub
我还知道StreamReader…这可能是与您的存储板对应的加载板。
当然,这里需要一些测试,并且需要一种更简单的方法来处理关键错误(比如作为输入传递的不同文件) 请注意,我已经在流的开口周围添加了。这也应该在上面的存储板中完成,以避免在异常情况下锁定文件时出现问题
Private Sub loadBoard(fileName As String)
Using f = New StreamReader(fileName)
For col = 0 To 8
Dim sudokuColumn = f.ReadLine()
Dim cells() = sudokuColum.Split()
For row = 0 To 8
If cells(row, col) = "0") Then
boards(row, col).Text = ""
Else
board(row, col).Text = cells(row,col)
End If
Next
Next
lblMinutes.Text = f.ReadLine()
End Using
End Sub
如何声明和初始化board(x,y)数组?专用board(8,8)作为文本框,如果这是您的意思?