简体   繁体   English

从C ++到VB.NET的转换:表达式内的赋值

[英]C++ to VB.NET Conversion: Assignment Within Expressions

Am converting some C++ code to VB.NET and need to convert assignments within expressions. 我正在将一些C ++代码转换为VB.NET,并且需要转换表达式中的赋值。 Below are some C++ lines of code for which it's not clear what the converted results would be: 以下是一些C ++代码行,尚不清楚转换后的结果是什么:

    i2 = 1 + (i1 = i + i)
    i4 = 1 + (i3 = n - i1)
    wr = (wtemp = wr) * wpr - wi * wpi + wr
    data(0) = (h1r = data(0)) + data(1)
    data(0) = c1 * ((h1r = data(0)) + data(1))

Would the first line translate to: 第一行会转换为:

    If i2 = 1 Then i1 = i + i

?

Hans gave you the procedure - but just in case there's still any doubt about how to do this, your final result should be: 汉斯(Hans)为您提供了该过程-但是以防万一对于如何执行此过程尚有疑问,您的最终结果应该是:

i1 = i + i
i2 = 1 + i1
i3 = n - i1
i4 = 1 + i3
wtemp = wr
wr = wtemp * wpr - wi * wpi + wr
h1r = data(0)
data(0) = h1r + data(1)
h1r = data(0)
data(0) = c1 * (h1r + data(1))

The code is already converted to VB.NET! 该代码已转换为VB.NET!

For example if you look at the following VB.NET code 例如,如果您查看下面的VB.NET代码

    Dim i2 As Int16
    Dim i1 As Int16
    Dim i As Int16
    Dim data(0 To 1)

    i = 1
    i1 = 1
    i2 = 0

    i2 = 1 + (i1 = i + i)   'Same as your C++ code

    MsgBox(i2)

It will return 1. The code translates to i2 = 1 + (if i1= i+i) 它将返回1。代码转换为i2 = 1 +(如果i1 = i + i)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM