[英]Select distinct rows from a datatable with criteria involving multiple columns using LINQ with VB.NET
[英]VB.net LINQ select specific rows from datatable
我有一種情況,我將所有數據加載到 DataTable 中,但在我的情況下,我只需要使用不以前綴(“#”)開頭的列。 我可以通過數據構建一個 function 到 go,但我想使用 LINQ,因為我正在學習它。
到目前為止我所擁有的:
Dim l = (From r In (dt.AsEnumerable())
From c As DataColumn
In r.Table.Columns
Where Not c.ColumnName.Contains("#")).ToList()
但結果不是我需要的。 我意識到 function 出了什么問題,但我就是不知道怎么寫
為了更清楚:
DataTable:
[Column1][Column2][Column3]
[Row1] 123 abv 12/10/21
[Row2] 555 sfsf 12/12/21
我不需要 [Column3],並且由於我正在嘗試做的具體操作,我需要使用完整的 DataTable。 因此,結果將是:
DataTable, or List(of) or IEnumerable..:
[Column1][Column2]
[Row1] 123 abv
[Row2] 555 sfsf
我希望使用 LINQ,但如果它太復雜或不可能,我將使用普通的 vb 方式。 我將構建一個只有所需列的新數據表...
不是 100% 確定你想要達到的目標,但我認為你想做這樣的事情:
Dim result = (From c In datatable.Columns Where Not c.ToString.StartsWith("#"c)).ToList
這就是我最終的結果。 我只是從集合中刪除我不需要的列。
dt.Columns.Remove((From c As DataColumn In dt.Columns Where c.ColumnName.StartsWith("#")).First)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.