以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]从匹配信息中随机返回一个值,如何处理? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=43485) |
-- 作者:hiliuyong -- 发布时间:2013/12/8 22:05:00 -- [求助]从匹配信息中随机返回一个值,如何处理? Dim 真实品名 As String = Args(0)
以上是一个函数,一个真实品名对照多个申报品名, 想从对应的申报品名中随机找到一个,然后返回一个值。 请教一下,注释这几句如何写呢? [此贴子已经被作者于2013-12-8 22:05:35编辑过]
|
-- 作者:有点甜 -- 发布时间:2013/12/8 22:40:00 -- Dim 真实品名 As String = Args(0) Dim dr As DataRow Dim Filter As String = "实际品名名称 = \'" & 真实品名 & "\'" Dim 个数 As Integer = DataTables("品名对照表").Compute("Count(_Identify)",Filter) If 个数 > 0 Then \'如果找到的话 Dim rand As Integer = Rand.Next(1, 个数) dr = DataTables("品名对照表").Find(filter, "_Identify", rand - 1) Return dr("申报品名名称") Else Return 真实品名 End If
|
-- 作者:程兴刚 -- 发布时间:2013/12/9 0:28:00 -- Dim drs As List(Of DataRow) if drs.Count > 0 Return drs(Rand.Next(0,drs.Count-1)) else Return Args(0) end if
这样也许效率高一些! |
-- 作者:hiliuyong -- 发布时间:2013/12/9 18:46:00 -- 谢谢,采用了二楼的方法, 变量RAND改为RANDX, RAND好像是系统保留字。 谢谢各位! |