所以我在 Visual Basic 中有一个问题,我有两个数组,分别称为 arrLang1 和 arrLang2
我想将 - 之前的单词放入第一个数组,将 - 之后的单词放入第二个数组。而这些话来自一个txt文件。
瑞典语单词 1 - 英语单词 1
瑞典语Word2 - 英语Word2
瑞典语Word3 - EnglishWord3
瑞典语Word4 - 英语Word4
所以我在 Visual Basic 中有一个问题,我有两个数组,分别称为 arrLang1 和 arrLang2
我想将 - 之前的单词放入第一个数组,将 - 之后的单词放入第二个数组。而这些话来自一个txt文件。
瑞典语单词 1 - 英语单词 1
瑞典语Word2 - 英语Word2
瑞典语Word3 - EnglishWord3
瑞典语Word4 - 英语Word4
你为什么不使用 aDictionary(Of String. String)
代替?它们是专门为这种要求而创建的。
Dictionary<TKey, TValue>
泛型类提供从一组键到一组值的映射。字典中的每个添加都包含一个值及其关联的键。使用其键检索值非常快,接近 O(1)。每个键都必须是唯一的。
Dim allLines = From line In File.ReadLines(path) Where Not String.IsNullOrWhiteSpace(line)
Dim dict = New Dictionary(Of String, String)
For Each line As String In allLines
Dim words = line.Split({" - "}, StringSplitOptions.RemoveEmptyEntries)
If words.Length >= 2 Then
dict(words(0)) = words(1)
End If
Next
如果您坚持收集我会使用 aList(Of String)
而不是数组,因为您不知道正确的大小并且数组是固定大小的:
Dim swedishWords = New List(Of String)
Dim englishWords = New List(Of String)
For Each line As String In allLines
Dim words = line.Split({" - "}, StringSplitOptions.RemoveEmptyEntries)
If words.Length >= 2 Then
swedishWords.Add(words(0))
englishWords.Add(words(1))
End If
Next
如果你真的需要数组swedishWords.ToArray()
和englishWords.ToArray()
之后。