You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB中如何同时循环两个变量并缓存高成本访问变量?

在VB中实现多变量循环的方案

要实现你提到的C#多变量初始化的for循环逻辑,VB没有直接对应的语法,但可以通过两种方式达成需求,同时满足缓存k变量的要求(避免重复访问带来的成本):

方法1:先缓存k,使用For循环

先将k的值缓存到变量j中(仅访问一次k),再利用VB的For循环实现逻辑。因为VB的For循环是包含上限值的,所以要把原C#的i < j转换为i To j - 1:

' 先缓存k的值,只访问一次
Dim j As Integer = k
' 循环逻辑对应C#的for (int i=0; i<j; i++)
For i As Integer = 0 To j - 1
    DoSomeStuff()
Next

如果k的值为0,j-1会是-1,循环不会执行,和C#的逻辑完全一致。

方法2:使用Do While循环(更贴近C#的for结构)

这种写法和C#的for循环逻辑结构几乎一致,先初始化变量、判断循环条件、执行代码、递增变量:

Dim i As Integer = 0
' 缓存k到j,仅访问一次
Dim j As Integer = k
Do While i < j
    DoSomeStuff()
    i += 1
Loop

这种方式不需要调整循环上限,逻辑更直观,和C#代码的执行流程完全匹配。

为什么你的尝试写法不行?

VB的For语句不支持同时声明多个循环变量,也不支持And连接多个To子句,所以For i As Integer = 0 To 5 And j As Integer = 0 To 5这种语法是不符合VB规范的。

内容的提问来源于stack exchange,提问作者Nocxy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 04:42:48