私は VB .NET を使用しており、Union は通常 ByRef で動作することを知っていますが、VB では、文字列は通常、プリミティブ データ型であるかのように処理されます。
その結果、ここに問題があります:
Sub Main()
Dim firstFile, secondFile As String(), resultingFile As New StringBuilder
firstFile = My.Computer.FileSystem.ReadAllText(My.Computer.FileSystem.SpecialDirectories.Desktop & "\1.txt").Split(vbNewLine)
secondFile = My.Computer.FileSystem.ReadAllText(My.Computer.FileSystem.SpecialDirectories.Desktop & "\2.txt").Split(vbNewLine)
For Each line As String In firstFile.Union(secondFile)
resultingFile.AppendLine(line)
Next
My.Computer.FileSystem.WriteAllText(My.Computer.FileSystem.SpecialDirectories.Desktop & "\merged.txt", resultingFile.ToString, True)
End Sub
1.txt の内容:
a
b
c
d
e
2.txt の内容:
b
c
d
e
f
g
h
i
j
コードを実行すると、次のようになります。
a
b
c
d
e
b
f
g
h
i
j
ユニオン関数を数学的に対応するように機能させるための提案はありますか?