-3

vb.netでforループを使用して次を表示するには?

Type1
Desc1    1      $400
Desc2    1      $300

Type2
Desc3    1      $1400
Desc4    2      $2300

助けてください。

4

1 に答える 1

0

詳細な情報がなければ、正確な回答を作成することは困難です。ただし、このコード例は、問題を解決する方法を明らかにする可能性があります。

VB.Net コンソール アプリケーションを作成し、以下のコード例をコピーしてメイン モジュールに貼り付けて実行するだけです。

Module Module1

    Sub Main()
        Dim table As New System.Data.DataTable("TestTable")
        With table
            .Columns.Add("Type", GetType(String))
            .Columns.Add("Description", GetType(String))
            .Columns.Add("Number", GetType(Integer))
            .Columns.Add("Value", GetType(Decimal))
        End With
        table.Rows.Add("Type1", "Desc1", 1, 400.0)
        table.Rows.Add("Type1", "Desc2", 1, 300.0)
        table.Rows.Add("Type2", "Desc3", 1, 1400.0)
        table.Rows.Add("Type2", "Desc4", 2, 2300.0)
        table.Rows.Add("Type2", "Desc5", 2, 700.0)

        Dim outputDictionary As New Dictionary(Of String, List(Of String))
        For Each row As DataRow In table.Rows
            Dim typeName As String = CStr(row("Type"))
            If (Not outputDictionary.ContainsKey(typeName)) Then
                outputDictionary.Add(typeName, New List(Of String))
            End If
            outputDictionary(typeName).Add(String.Format("{0} {1} {2}", CStr(row("Description")), CInt(row("Number")).ToString(), CStr(row("Value"))))
        Next

        For Each namedType In outputDictionary
            Console.WriteLine(namedType.Key)
            For Each item In namedType.Value
                Console.WriteLine("     " & item)
            Next
        Next

        Console.ReadKey(True)
    End Sub

End Module
于 2012-07-12T22:03:19.323 に答える