簡體   English   中英

將.CSV 文件加載到元組列表中並組合值 VB.NET

[英]Load .CSV File into a Tuple List and Combine Values VB.NET

我正在使用VB.NET並且我正在嘗試將保存在用戶計算機上的預先存在的CSV文件加載到包含點變量的字符串元組列表中。 我正在這樣定義我的列表:

Dim loadedCsvList As List(Of Tuple(Of String, String, String, String, Point, String, String))

我的CSV 800 行,每一行都有如下格式的值:

string1,string2,string3,string4,pointx,pointy,string5,string6

我正在嘗試將整個CSV加載到這種類型的列表中,但我想將 CSV 的第 5 行( pointx )和第 6 行( pointy )中的值CSV到元組列表中的一個點中。

我知道如果我的列表包含所有字符串並且需要加載到元組列表(也是純字符串)中,那么我可以使用for循環將每列中的每個值加載到字符串中。 但是,我的 CSV 在兩個單獨的列中包含兩個單獨的值,這些值需要組合成點並加載到 CSV 中。 我不知道我怎么能做到這一點。

如何將 CSV 加載到包含單獨列中的點的元組列表中?

為簡化起見,我的 csv 看起來像字符串、字符串、數字、數字、字符串。 在此處輸入圖像描述 訣竅是將New Point(x, Y)添加到Tuple.Create

我不認為我會使用元組。 class 可以具有具有有意義名稱的屬性。

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    Dim loadedCsvList As New List(Of Tuple(Of String, String, Point, String))
    Dim lines = File.ReadAllLines("Book1.csv")
    For Each line In lines
        Dim splits = line.Split(","c)
        loadedCsvList.Add(Tuple.Create(splits(0), splits(1), New Point(CInt(splits(2)), CInt(splits(3))), splits(4)))
    Next
    For Each item In loadedCsvList
        Debug.Print($"{item.Item1} {item.Item2} - {item.Item3.X}, {item.Item3.Y} {item.Item4}")
    Next
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM