Estoy usando VB .NET y sé que Union normalmente funciona ByRef pero en VB, las cadenas generalmente se procesan como si fueran tipos de datos primitivos.¿Por qué la función Union en LINQ no elimina las entradas duplicadas?
Por consiguiente, aquí está el problema:
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 contiene:
un
b
c
d
e
2.txt contiene:
b
c
d
e
f
g
h
i
j
Después de ejecutar el código, consigo:
un
b
c
d
e
b
f
g
h
i
j
Cualquier sugerencias para hacer la función de la Unión actúen como su contraparte matemática?
Has encontrado el problema. ¡Muchas gracias! –