所以我在visual basic中遇到问题,我有两个名为arrLang1和arrLang2的数组
我想把 - 放在第一个数组之前的单词和第二个数组之后的单词。这些词来自txt文件。
SwedishWord1 - EnglishWord1
SwedishWord2 - EnglishWord2
SwedishWord3 - EnglishWord3
SwedishWord4 - EnglishWord4
答案 0 :(得分:0)
为什么不使用Dictionary(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
如果你坚持收集我会使用List(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()
。