我有一種情況,我將所有資料加載到資料表中,但在我的情況下,我只需要使用不以前綴(“#”)開頭的列。我可以構建一個函式來遍歷資料,但我想使用 LINQ,因為我正在學習它。
到目前為止我所擁有的:
Dim l = (From r In (dt.AsEnumerable())
From c As DataColumn
In r.Table.Columns
Where Not c.ColumnName.Contains("#")).ToList()
但結果不是我需要的。我意識到這個函式有什么問題,但我就是不知道如何撰寫它
為了更清楚地說明:
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 方式。我將構建一個只有所需列的新資料表...
uj5u.com熱心網友回復:
不是 100% 確定您要實作的目標,但我認為您想做這樣的事情:
Dim result = (From c In datatable.Columns Where Not c.ToString.StartsWith("#"c)).ToList
uj5u.com熱心網友回復:
這就是我的結果。我只是從集合中洗掉了我不需要的列。
dt.Columns.Remove((From c As DataColumn In dt.Columns Where c.ColumnName.StartsWith("#")).First)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/378910.html
下一篇:特定時間的顏色變化vb.net
