0

データテーブルがあり、このデータテーブルを使用してテキスト ファイルを作成したいと考えています。新しく作成されたテキスト ファイルの各行が一意であることを望みます。重複行がある場合は、両方の行に * を追加する必要があります (重複行)。

私は次のコードを使用しています:

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

行を一意にする方法を教えてください。

ありがとう

4

1 に答える 1

1

私の例では、データに配列を使用しましたが、配列の部分を DataTable に置き換えるだけで問題ありません。基本的に、DataTable 情報を使用して文字列のリストを作成し、LINQ を使用して、そのデータが既に 1 回または複数回存在するかどうかを確認します。

    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 />
于 2012-05-02T13:12:13.393 に答える