Foxtable(狐表)用户栏目专家坐堂 → 自定义函数错误


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

主题:自定义函数错误

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


加好友 发短信
等级:三尾狐 帖子:726 积分:7477 威望:0 精华:0 注册:2017/2/3 10:29:00
自定义函数错误  发帖心情 Post By:2020/2/5 13:00:00 [只看该作者]

老师,帮忙看看自定义函数有什么问题?这个自定义函数取名:List_PublicMembers,目的是找出两个集合的公共部分。

下面是自定义函数的代码

Dim list1 As List(of String)= args(0)
Dim List2 As List(of String)= args(1)
Dim List0 As List(of String)
Dim st1 As String
Dim st2 As String
For Each st1 In List1
    For Each st2 In List2
        If st1=st2 Then
            List0.Add (st1)
            Exit For
        End If
    Next
Next
Return List0

下面是调用该自定义函数的代码:
其中,lis1、lis2是集合,里面确定有公共成员。
Dim li As List(of String)
li=Functions.Execute("List_PublicMembers",lis1,lis2)

错误信息:
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.1.12.18
错误所在事件:自定义函数List_PublicMembers
详细错误信息:
调用的目标发生了异常。
未将对象引用设置到对象的实例。



请老师帮忙看看。谢谢!


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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/5 14:04:00 [只看该作者]

Dim list1 As List(of String)= args(0)
Dim List2 As List(of String)= args(1)
Dim List0 As new List(of String)
Dim st1 As String
Dim st2 As String
For Each st1 In List1
    If List2.Contains(st1) Then
        List0.Add (st1)
    End If
Next
Return List0

或者

Dim list1 As List(of String)= args(0)
Dim List2 As List(of String)= args(1)
Dim List0 As new List(of String)

Dim lst = list1.Intersect(list2)
For Each s As String In lst 
    List0.Add(s)
Next
Return List0
[此贴子已经被作者于2020/2/5 15:09:40编辑过]

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


加好友 发短信
等级:三尾狐 帖子:726 积分:7477 威望:0 精华:0 注册:2017/2/3 10:29:00
  发帖心情 Post By:2020/2/5 15:06:00 [只看该作者]

Intersect,这个方法好。谢谢蓝老师

 回到顶部