Vb.net 如何理解我的vb反编译器反编译了什么

Vb.net 如何理解我的vb反编译器反编译了什么,vb.net,decompiling,Vb.net,Decompiling,好的,伙计们,我已经反编译了一个程序,它反编译了这个解决方案。 有人可以翻译这个解决方案,因为我不知道那是什么。语言是VB.net 结构proizvod indeks是索引 克里特里是标准 proizvod是一种新产品 prodaja正在销售 雷吉亚是一个重要的地区 sveprodaje是所有销售的产品 特罗萨克负责 代码如下: Public Sub konsolidiraj(ByVal kriterij As Integer) Dim num As Integer

好的,伙计们,我已经反编译了一个程序,它反编译了这个解决方案。 有人可以翻译这个解决方案,因为我不知道那是什么。语言是VB.net

结构proizvod indeks是索引 克里特里是标准 proizvod是一种新产品 prodaja正在销售 雷吉亚是一个重要的地区 sveprodaje是所有销售的产品 特罗萨克负责 代码如下:

    Public Sub konsolidiraj(ByVal kriterij As Integer)
        Dim num As Integer
        Dim proizvodArray As Form1.Proizvod()
        Dim num1 As Integer
        If (kriterij = 0) Then
            Dim upperBound As Integer = Me.sveProdaje.GetUpperBound(0)
            For i As Integer = 0 To upperBound
                Dim prodajaArray As Form1.Prodaja() = Me.sveProdaje
                Dim num2 As Integer = i
                Dim num3 As Integer = Me.vratiIndeks(prodajaArray(num2).naziv)
                num = prodajaArray(num2).kolicina
                If (Operators.CompareString(prodajaArray(num2).regija, "Central", False) = 0) Then
                    proizvodArray = Me.sviProizvodi
                    num1 = num3
                    proizvodArray(num1).ukupnoCentral = proizvodArray(num1).ukupnoCentral + num
                ElseIf (Operators.CompareString(prodajaArray(num2).regija, "East", False) = 0) Then
                    proizvodArray = Me.sviProizvodi
                    num1 = num3
                    proizvodArray(num1).ukupnoEast = proizvodArray(num1).ukupnoEast + num
                ElseIf (Operators.CompareString(prodajaArray(num2).regija, "West", False) = 0) Then
                    proizvodArray = Me.sviProizvodi
                    num1 = num3
                    proizvodArray(num1).ukupnoWest = proizvodArray(num1).ukupnoWest + num
                End If
            Next

        End If
        If (kriterij = 1) Then
            Dim upperBound1 As Integer = Me.sveProdaje.GetUpperBound(0)
            For j As Integer = 0 To upperBound1
                Dim prodajaArray1 As Form1.Prodaja() = Me.sveProdaje
                Dim num4 As Integer = j
                Dim num5 As Integer = Me.vratiIndeks(prodajaArray1(num4).naziv)
                num = prodajaArray1(num4).prihod
                If (Operators.CompareString(prodajaArray1(num4).regija, "Central", False) = 0) Then
                    proizvodArray = Me.sviProizvodi
                    num1 = num5
                    proizvodArray(num1).ukupnoCentral = proizvodArray(num1).ukupnoCentral + num
                ElseIf (Operators.CompareString(prodajaArray1(num4).regija, "East", False) = 0) Then
                    proizvodArray = Me.sviProizvodi
                    num1 = num5
                    proizvodArray(num1).ukupnoEast = proizvodArray(num1).ukupnoEast + num
                ElseIf (Operators.CompareString(prodajaArray1(num4).regija, "West", False) = 0) Then
                    proizvodArray = Me.sviProizvodi
                    num1 = num5
                    proizvodArray(num1).ukupnoWest = proizvodArray(num1).ukupnoWest + num
                End If
            Next

        End If
        If (kriterij = 2) Then
            Dim upperBound2 As Integer = Me.sveProdaje.GetUpperBound(0)
            For k As Integer = 0 To upperBound2
                Dim prodajaArray2 As Form1.Prodaja() = Me.sveProdaje
                Dim num6 As Integer = k
                Dim num7 As Integer = Me.vratiIndeks(prodajaArray2(num6).naziv)
                num = prodajaArray2(num6).trosak
                If (Operators.CompareString(prodajaArray2(num6).regija, "Central", False) = 0) Then
                    proizvodArray = Me.sviProizvodi
                    num1 = num7
                    proizvodArray(num1).ukupnoCentral = proizvodArray(num1).ukupnoCentral + num
                ElseIf (Operators.CompareString(prodajaArray2(num6).regija, "East", False) = 0) Then
                    proizvodArray = Me.sviProizvodi
                    num1 = num7
                    proizvodArray(num1).ukupnoEast = proizvodArray(num1).ukupnoEast + num
                ElseIf (Operators.CompareString(prodajaArray2(num6).regija, "West", False) = 0) Then
                    proizvodArray = Me.sviProizvodi
                    num1 = num7
                    proizvodArray(num1).ukupnoWest = proizvodArray(num1).ukupnoWest + num
                End If
            Next

        End If
        If (kriterij = 3) Then
            Dim upperBound3 As Integer = Me.sveProdaje.GetUpperBound(0)
            For l As Integer = 0 To upperBound3
                Dim prodajaArray3 As Form1.Prodaja() = Me.sveProdaje
                Dim num8 As Integer = l
                Dim num9 As Integer = Me.vratiIndeks(prodajaArray3(num8).naziv)
                num = prodajaArray3(num8).dobit
                If (Operators.CompareString(prodajaArray3(num8).regija, "Central", False) = 0) Then
                    proizvodArray = Me.sviProizvodi
                    num1 = num9
                    proizvodArray(num1).ukupnoCentral = proizvodArray(num1).ukupnoCentral + num
                ElseIf (Operators.CompareString(prodajaArray3(num8).regija, "East", False) = 0) Then
                    proizvodArray = Me.sviProizvodi
                    num1 = num9
                    proizvodArray(num1).ukupnoEast = proizvodArray(num1).ukupnoEast + num
                ElseIf (Operators.CompareString(prodajaArray3(num8).regija, "West", False) = 0) Then
                    proizvodArray = Me.sviProizvodi
                    num1 = num9
                    proizvodArray(num1).ukupnoWest = proizvodArray(num1).ukupnoWest + num
                End If
            Next

        End If
    End Sub

我所能做的只是让您知道VB字符串相等运算符与C有一些语义上的差异,例如,它还做了一些其他的事情。如果指定了“比较文本”选项,则当字符串的大小写不匹配时,它可以将字符串视为相等。因此,您看到的Operators.CompareString调用是正在工作的字符串相等运算符

当两者相等时,运算符返回0,因此当您看到如下代码时

If (Operators.CompareString(prodajaArray(num2).regija, "East", False) = 0) Then
这意味着最初编写的代码是

Option Compare Binary    ' At the top of the file. But this is implied if it isn't specified.
' Skip down to a method for the following code.
If prodajaArray(num2).regija = "East" Then

如果指定了选项“比较文本”,则最后一部分应为East,True=0,那么为什么?这个程序有什么问题,因为它看起来不像波兰人?变量名是否可读?你想翻译什么?我问的是简单的答案,我需要简化的代码,你应该解释一下为什么?这段代码当然可以简化,但里面并没有什么困难。从上面发布的代码中,您不了解什么?说说你想翻译什么,为什么你不明白某些事情我不明白这段代码能做什么,这段代码的意思是什么,这段代码的目的是什么?我认为你错认为这是翻译服务。请阅读: