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

VB.NET中如何实现类似C#前置自增的数组赋值操作?

在VB.NET中实现类似C#自增索引的简洁写法

我在C#中创建消息时曾用这样的写法:

ByteMessage[i] = "A";
ByteMessage[++i] = "B";
ByteMessage[++i] = "C";
// ......................

现在想在VB.NET里实现同样的操作,但VB.NET不支持++或--运算符。我试过这样写:

ByteMessage(i += 1) = "A"
ByteMessage(i += 1) = "B"
ByteMessage(i += 1) = "C"
' ......................

但没法正常运行,而且Math库也没有相关方法。想问问VB.NET里有没有像C#那样简洁的解决方案?

这问题我之前也碰到过!VB.NET确实没有C#那种简洁的自增运算符,但有几个办法能达到一样的效果,而且也挺简洁的:

  • 用冒号合并自增与赋值:VB.NET允许用冒号:把同一行的多个语句连起来,我们可以先手动自增变量,再用新索引赋值,写法很紧凑:

    i = i + 1 : ByteMessage(i) = "A"
    i = i + 1 : ByteMessage(i) = "B"
    i = i + 1 : ByteMessage(i) = "C"
    

    这个逻辑和C#的ByteMessage[++i]完全一致——先让i自增,再用更新后的索引给数组赋值。

  • 封装自增函数复用:如果这种操作在代码里出现很多次,写个小函数会更方便,完美模拟C#的前置自增效果:

    Function Inc(ByRef num As Integer) As Integer
        num += 1
        Return num
    End Function
    

    之后用的时候就可以像这样写,和C#的写法几乎一样直观:

    ByteMessage(Inc(i)) = "A"
    ByteMessage(Inc(i)) = "B"
    ByteMessage(Inc(i)) = "C"
    

    函数会先把传入的i加1,再返回新的数值,直接用作数组索引就行。

如果是批量给数组赋值的场景,还可以考虑用数组初始化或者循环来简化,但如果是零散的赋值,上面两种方法就足够简洁好用了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 09:03:01