6

我正在使用VB。NET和我都知道Union通常使用ByRef,但在VB中,字符串通常被当作原始数据类型来处理。

因此,问题是:

子干线()Dim firstFile、secondFile As String()、resultingFile As New StringBuilderfirstFile=My.Computer。文件系统。ReadAllText(My.Computer.FileSystem.SpecialDirectories.Desktop&“\1.txt”)。拆分(vbNewLine)secondFile=My.Computer。文件系统。ReadAllText(My.Computer.FileSystem.SpecialDirectories.Desktop&“\2.txt”)。拆分(vbNewLine)For Each line As String In firstFile中的每一行。联合(secondFile)结果文件。追加行(行)下一步我的电脑。文件系统。WriteAllText(My.Computer.FileSystem.SpecialDirectories.Desktop&“\merged.txt”,resultingFile.ToString,True)结束Sub

1.txt包含:

b条
c(c)
d日
e(电子)

2.txt包含:
b条
c(c)
d日
e(电子)
(f)

小时

j个

运行代码后,我得到:

b条
c(c)
d日
e(电子)
b条
(f)

小时

j个

有什么建议可以让Union函数像数学上的对应函数一样工作吗?

0

2个答案2

重置为默认值
16

林克工会确实按您的要求执行。请确保输入文件正确(例如,其中一行可能在换行符前包含空格)或修剪()分裂后的字符串?

var列表1=新[]{“a”,“s”,“d”};var list2=new[]{“d”,“a”,“f”,“123”};var联合=list1.union(list2);工会。转储();//这是LinqPad方法

林克帕德,结果是{“a”、“s”、“d”、“f”、“123”}

0
2

我想你想使用Distinct函数。在LINQ语句的末尾.Distinct();

var distinctList=您的组合列表。Distinct();

类似于SQL中的“SELECT DISTINCT”:)

2
  • 4
    Linq的Union方法之后不需要Distinct 评论 2009年8月9日22:07
  • 你是对的,我应该说,在我的例子中是“组合”列表。更新以反映感谢。
    – 凯尔西
    评论 2009年8月9日23:15

你的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.