我目前正在尝试加载一系列格式如下的变量:
5,
6,
3,
3,
等,我正在尝试将它们输出到这样的变量:
Strength = variablesList(1)
Agility = variablesList(2)
但到目前为止,我还没有找到一个似乎适用于我正在努力的解决方案。
我目前正在处理:
Dim destination As String = Environment.GetFolderPath("C:\Roll20Output\Class" + outputClass + "2.txt")
Dim FileReader1 As New StreamReader(destination)
Dim Contents1 As String
Dim index As Integer = 0
While FileReader1.Peek <> -1
Contents1 = FileReader1.ReadLine
Dim array As New ArrayList
array.AddRange(Contents1.Split(","))
variablesList.Add(array)
End While
Strength = variablesList(1)
Agility = variablesList(2)
但到目前为止,我似乎无法得到任何结果。
有人能帮忙吗?
由于
答案 0 :(得分:1)
您在代码中使用了大量过时的东西(使用StreamReader,ArrayList而不是List<T>
读取文件等)。我会建议以下(未经测试):
' Returns an array with one string per line
Dim lines = File.ReadAllLines("C:\...\SomeFile.txt")
' Remove trailing `,` - LINQ magic
lines = (From s In lines Select s.TrimEnd(","c)).ToArray()
Dim strength = CInt(lines(0))
Dim agility = CInt(lines(1))
...
如果你摆脱了无用的尾随逗号,你可以跳过第二步。如果您只使用 逗号而不是新行,则第一步将变为:
Dim lines = File.ReadAllText("C:\...\SomeFile.txt").Split(","c)