gpt4 book ai didi

vb.net - 整数加一

转载 作者:行者123 更新时间:2023-12-04 02:59:21 25 4
gpt4 key购买 nike

在 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# 那样的干净解决方案?

最佳答案

.Net 中没有任何内在的东西支持前/后增量和返回功能。 C# 编译器通过在编译代码时发出所需的 IL 语句来支持它。虽然 VB.Net 语言开发人员认为此功能不是必需的,但没有什么可以阻止您使用 Extension Methods添加此功能。

唯一的限制是您需要对扩展方法使用有效的方法名称(例如 IncrPreIncrPost ),并使用方法表示法而不是 ++ii++符号。

Public Module Int32Extensions
<Extension()>
Public Function IncrPost(ByRef i As Int32) As Int32
Dim ret As Int32 = i
i += 1
Return ret
End Function

<Extension()>
Public Function IncrPre(ByRef i As Int32) As Int32
i += 1
Return i
End Function
End Module

用法示例:
Dim i As Int32 = 0
Dim ByteMessage As String() = New String(0 To 4) {}
ByteMessage(i) = "A"
ByteMessage(i.IncrPre) = "B"
ByteMessage(i.IncrPre) = "C"
i = 3
ByteMessage(i.IncrPost) = "D"
ByteMessage(i) = "E"

产量:

enter image description here

关于vb.net - 整数加一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50645255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com