以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 退出for each (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=37712) |
-- 作者:sddcyj -- 发布时间:2013/7/9 11:20:00 -- 退出for each For Each dcs As DataCol In DataTables("交换机").DataCols For Each drs As DataRow In DataTables("交换机").DataRows Dim str1 As String = drs(dcs) Dim str2 As String = e.Row("主机_有线MAC") Dim b As Boolean = str1.Contains(str2) If b = True Then dr("交换机_IP地址") = drs("交换机_IP地址") dr("交换机_主机名") = drs("交换机_主机名") dr("交换机_端口")=dcs.name Exit For Exit For Else dr("交换机_主机名")=Nothing dr("交换机_IP地址")=Nothing dr("交换机_端口")=Nothing End If Next Next 请问当if b=true成立时 想要退出全部for each循环 如何加代码 用exit for试了几次不能完全退出 |
-- 作者:Bin -- 发布时间:2013/7/9 11:21:00 -- 那只是退出了第一重循环,你这有2重循环呢 可以考虑使用return 不过后面的代码就全部不会执行了哦 |
-- 作者:sddcyj -- 发布时间:2013/7/9 11:22:00 -- 能不能两次完全退出 |
-- 作者:Bin -- 发布时间:2013/7/9 11:26:00 -- 你在同一个代码块内exit for两次没有用 上面一个执行后下面那个就没意义了.你可以使用一个变量 dim b2 as boolean = false
For Each dcs As DataCol In DataTables("交换机").DataCols if b2 then exit for end if For Each drs As DataRow In DataTables("交换机").DataRows Dim str1 As String = drs(dcs) Dim str2 As String = e.Row("主机_有线MAC") Dim b As Boolean = str1.Contains(str2) If b = True Then dr("交换机_IP地址") = drs("交换机_IP地址") dr("交换机_主机名") = drs("交换机_主机名") dr("交换机_端口")=dcs.name b2=b Exit For Else dr("交换机_主机名")=Nothing dr("交换机_IP地址")=Nothing dr("交换机_端口")=Nothing End If Next Next |
-- 作者:lsy -- 发布时间:2013/7/9 11:29:00 -- Dim i As Integer = 0 For Each dcs As DataCol In DataTables("交换机").DataCols i + = 1 If i > 0 Then End If [此贴子已经被作者于2013-7-9 11:32:09编辑过]
|
-- 作者:lsy -- 发布时间:2013/7/9 11:38:00 -- 用整数比用逻辑,有个小小的优势:可以判断循环几次后退出,有时会有这种需求。 |
-- 作者:cxabc123 -- 发布时间:2013/7/9 14:27:00 -- 以下是引用lsy在2013-7-9 11:29:00的发言:
Dim i As Integer = 0 For Each dcs As DataCol In DataTables("交换机").DataCols i + = 1 If i > 0 Then End If [此贴子已经被作者于2013-7-9 11:32:09编辑过] Dim i As Integer = 3 Output.Show(i)
i + = 1 与 i = i +1 有什么区别 |
-- 作者:lsy -- 发布时间:2013/7/9 14:33:00 -- 作用没区别,少写一次变量。 |
-- 作者:cxabc123 -- 发布时间:2013/7/9 16:00:00 -- 以下是引用lsy在2013-7-9 14:33:00的发言:
作用没区别,少写一次变量。 在通用筛选树的介绍中见过+=的格式,当时纯粹不明白,只是套用,在这儿见了,又测试了一下,结果一样。但还是没有理解这样写的意思,能介绍一下吗,以便今后的应用 [此贴子已经被作者于2013-7-9 16:00:27编辑过]
|
-- 作者:lsy -- 发布时间:2013/7/9 16:46:00 -- 比尔.盖茨,说:这样子简洁一点,写起来省力一些,看起来舒服一节。 他老前辈都说到这份上了,咱们还不该捧捧场么? |