我對使用VB.Net的LINQ相當陌生。我知道它在獲取結果方面速度非常快。使用linq從數據集表中獲得不同的計數和名稱
我有一個表的數據集,並希望與計數
的數據由(大約50,000行的CSV)
p1.pdf
e3.xls
表示檢索不同的值
d1.doc
p2.pdf
e2.xls
d2.doc
p1.pdf
e3.xls
d2.doc
d4.doc
想有這樣
p1.pdf - 2
p2.pdf - 1
e3.xls - 2
個e2.xls - 1
d2.doc - 2
d1.doc - 1
d4.doc - 1
我已經試過這樣的事情
Dim Filtered = From row in ds.tables("AuditLog").AsEnumerables()
Where (row.Field(Of String)("DocName") Like "*.pdf")
Dim dt as New Datatable
dt = Filtered.CopyToDataTable
這使所有pdf文件的清單,我可以使用數據視圖來計算,但如果有更快的方法獲得計數,這將是很好的
如果可能的話請幫我
感謝您的耐心
1)GROUPBY名,2)選擇與元素3)排序依據最後的財產的GROUPBY的名稱和int,計數新對象組名3個字符。在C#中它看起來像這樣:'table.GroupBy(t => t.DocName).Select(t => new {name = t.Key,count = t.Count()} .OrderBy(t => t。 name.Substring(t.name.Length-3));' –
嗨亞歷山大,我確信這將是一個正確的答案,但我不知道C#,並會花費我更多的時間解碼相同。可以幫助我在vb.net轉換相同,我將非常感謝 – user1753985
只要說你需要的算法,所有相同的方法都可以在vb.net但我不知道的語法:/ –