我有一个包含三列的数据表
Id name value value1
我想从此数据表创建一个字符串,以便
- 数据表中的每一行将创建两行
- 名称将变为一行
- 值 1 将成为另一行
如果 name 和 value1 相似,则仅包含 value 1,否则同时包含 name 和 value1(完成)
如果一行的名称与任何其他行中的名称相似,则在字符串中的两个重复行前面添加以下文本
Id 与 Id 相似
这是我到目前为止所写的:
Public Function GetGazetteer(dataTable As DataTable) As String
Dim processedData = New List(Of String)
Dim rowData = String.Empty
Dim results = New StringBuilder()
For Each row As DataRow In dataTable.Rows
processedData.Add(row(1))
If row(3) <> row(1) Then
processedData.Add(row(3))
End If
Next
For Each row As String In processedData
rowData = row
If rowData.Trim <> String.Empty Then
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
End If
Next
Return results.ToString
End Function
目前,*
已添加(请建议如何添加上述文本。)
这是一个示例
id name value value1
1 this is string 1 abc This is sample
2 this is string 2 abc this is string 2
3 this is string 3 abc this is string 4
4 this is string 3 abc asasaasd
这是所需的输出
this is string 1
This is sample
this is string 2
*3 is duplicate of 4* this is string 3
this is string 4
*4 is duplicate of 3* this is string 3
asasaasd