datatable到具有唯一行的字符串

时间:2012-05-02 12:45:34

标签: asp.net vb.net

我有一个数据表,我想使用这个数据表创建一个文本文件。我希望新创建的文本文件的每一行都是唯一的。如果存在重复行,则应将*添加到两行(重复行)

我正在使用以下代码:

 Dim str As String
            For Each row As DataRow In dataTable.Rows
                str += row(1)  ' This is text data            
                str += "<br/>"
            Next

请建议我如何使行唯一。

由于

1 个答案:

答案 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 />