Używam VB .NET i wiem, że Unia normalnie działa ByRef, ale w VB, łańcuchy są generalnie przetwarzane tak, jakby były prymitywnymi typami danych.Dlaczego funkcja Unii w LINQ nie usuwa duplikatów?
konsekwencji, tu problem:
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 zawiera:
b
C
d
e
2.txt zawiera:
b
c
d
e
F
g
H
i
J
Po uruchomieniu kodu uzyskać:
b
C
d
e
b
f
g
h
i
j
Wszelkie sugestie dotyczące dokonywania funkcję aktu Unii jak jego matematycznym odpowiednikiem?
Znalazłeś problem. Dzięki wielkie! –