好的,伙计们,我已经反编译了一个反编译此解决方案的程序。 有人可以翻译这个解决方案,因为我不知道那是什么。语言是VB.net
这是代码:
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
答案 0 :(得分:0)
我所能做的就是让你知道VB字符串相等运算符与C#有一些语义差异,并做了一些事情。如果指定了Option Compare Text
选项,如果它们的外壳不匹配,它就能够将字符串视为相等。因此,您看到的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
如果已指定Option Compare Text
,则最后一部分将显示为"East", True) = 0) Then