以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  某列前两位字符等于ab的字符串放入集合  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=179140)

--  作者:tld
--  发布时间:2022/8/10 7:32:00
--  某列前两位字符等于ab的字符串放入集合
老师好,某列是字符型,将该列前两位字符如果是ab,则值放入到一个集合中。我用 for each ----的方法可以实现,但感觉有点低效。有没有更好的方法?谢谢老师!
--  作者:有点蓝
--  发布时间:2022/8/10 8:34:00
--  
参考:http://www.foxtable.com/webhelp/topics/2747.htmhttp://www.foxtable.com/webhelp/topics/0102.htm

Dim Products As List(Of String)
Products DataTables("产品").GetValues("产品名称","产品名称 like \'ab%\'")

--  作者:chnfo
--  发布时间:2022/8/10 11:54:00
--  
本质上来说,都是遍历

dim lst as new list(of string)
for each dr as datarow in dt.datarows
dim s as string = dr("C")
if s.startswith("ab") then 
lst.add(s)
end if 
next

这个跟GetValues的效率几乎没有什么区别,就是代码写得多了一点而已。

以前我用一个实例测试过,有些时候,getvalues的效率甚至还不如遍历