我有一个数据表,我想使用这个数据表创建一个文本文件。我希望新创建的文本文件的每一行都是唯一的。如果存在重复行,则应将*添加到两行(重复行)
我正在使用以下代码:
Dim str As String
For Each row As DataRow In dataTable.Rows
str += row(1) ' This is text data
str += "<br/>"
Next
请建议我如何使行唯一。
由于
答案 0 :(得分:1)
对于我的例子,我使用了一个包含数据的数组,但只需用你的DataTable替换数组部分就可以了。基本上,您使用DataTable信息构建字符串列表,然后使用LINQ检查并查看该数据是否已存在一次或多次。
Dim data As String() = {"A", "B", "C", "D", "E", "A", "E", "F", "G", "H", "A", "A", "B", "X", "Y", "Z"}
Dim processedData = New List(Of String)
Dim rowData = String.Empty
Dim results = New StringBuilder()
For Each row As String In data
processedData.Add(row)
Next
For Each row As String In processedData
rowData = row
If (processedData.Where(Function(d) d = rowData).Count = 1) Then
results.Append(rowData)
results.Append("<br />")
Else
results.Append(rowData)
results.Append("*")
results.Append("<br />")
End If
Next
结果字符串是
A*<br />
B*<br />
C<br />
D<br />
E*<br />
A*<br />
E*<br />
F<br />
G<br />
H<br />
A*<br />
A*<br />
B*<br />
X<br />
Y<br />
Z<br />