Vb.net 如何理解我的vb反编译器反编译了什么
好的,伙计们,我已经反编译了一个程序,它反编译了这个解决方案。 有人可以翻译这个解决方案,因为我不知道那是什么。语言是VB.net 结构proizvod indeks是索引 克里特里是标准 proizvod是一种新产品 prodaja正在销售 雷吉亚是一个重要的地区 sveprodaje是所有销售的产品 特罗萨克负责 代码如下: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
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,那么为什么?这个程序有什么问题,因为它看起来不像波兰人?变量名是否可读?你想翻译什么?我问的是简单的答案,我需要简化的代码,你应该解释一下为什么?这段代码当然可以简化,但里面并没有什么困难。从上面发布的代码中,您不了解什么?说说你想翻译什么,为什么你不明白某些事情我不明白这段代码能做什么,这段代码的意思是什么,这段代码的目的是什么?我认为你错认为这是翻译服务。请阅读: