Foxtable(狐表)用户栏目专家坐堂 → 某列前两位字符等于ab的字符串放入集合


  共有6788人关注过本帖树形打印复制链接

主题:某列前两位字符等于ab的字符串放入集合

帅哥哟,离线,有人找我吗?
tld
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:739 积分:7694 威望:0 精华:0 注册:2017/2/3 10:29:00
某列前两位字符等于ab的字符串放入集合  发帖心情 Post By:2022/8/10 7:32:00 [只看该作者]

老师好,某列是字符型,将该列前两位字符如果是ab,则值放入到一个集合中。我用 for each ----的方法可以实现,但感觉有点低效。有没有更好的方法?谢谢老师!

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110135 积分:560481 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2239 积分:18446 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By: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的效率甚至还不如遍历

 回到顶部