PDA

View Full Version : سوال: این تکه کد چه کاری انجام میده؟



ha88an
چهارشنبه 15 بهمن 1393, 14:18 عصر
سلام دوستان میخواستم یکی واسم این چند خط کد رو واسم معنی کنم دقیقا چیکار انجام میده، بصورت خط به خط و کامل من مبتدی هستم

مثلا اینا رو نمیدونم چیه:

New MergBuilding
New PointB
Me.View.Count
par.View.Count
DirectCast(par.View.Item(num3), PointB
building.View.Add(tb5)
(DirectCast(building.View.Item((building.View.Coun t - 1)), PointB).y
building.View.Add(par.View.Item((par.View.Count - 1)))
Return building

اینم از کدها:

Public Function Merg(ByVal par As MergBuilding) As MergBuilding
Dim building As New MergBuilding
Dim y As Integer = -1
Dim num2 As Integer = 0
Dim num3 As Integer = 0
Dim num4 As Integer = 0
Dim tb As New PointB
Dim tb2 As New PointB
Dim i As Integer
For i = 0 To (Me.View.Count + par.View.Count) - 1
Dim tb5 As PointB
Dim tb3 As PointB = If((num3 < par.View.Count), DirectCast(par.View.Item(num3), PointB), New PointB(&H3E8, 0))
Dim tb4 As PointB = If((num4 < Me.View.Count), DirectCast(Me.View.Item(num4), PointB), New PointB(&H3E8, 0))
Dim num6 As Integer = 1
If (tb3.x < tb4.x) Then
tb5 = tb3
num3 += 1
tb = DirectCast(par.View.Item((num3 - 1)), PointB)
num6 = 1
Else
tb5 = tb4
num4 += 1
tb2 = DirectCast(Me.View.Item((num4 - 1)), PointB)
num6 = 2
End If
If (tb5.y > y) Then
building.View.Add(tb5)
y = tb5.y
num2 = num6
ElseIf (num6 = num2) Then
Dim tb6 As PointB
If (num6 = 1) Then
tb6 = New PointB(tb5.x, If((tb5.y > tb2.y), tb5.y, tb2.y))
y = tb2.y
num2 = 2
Else
tb6 = New PointB(tb5.x, If((tb5.y > tb.y), tb5.y, tb.y))
y = tb.y
num2 = 1
End If
building.View.Add(tb6)
End If
Next i
If (DirectCast(building.View.Item((building.View.Coun t - 1)), PointB).y > 0) Then
building.View.Add(par.View.Item((par.View.Count - 1)))
building.View.Add(Me.View.Item((Me.View.Count - 1)))
End If
Return building
End Function

milad.biroonvand
یک شنبه 19 بهمن 1393, 14:32 عصر
خیلی زیاده.
New MergBuilding
خط بالا یک کلاس ایجاد می کنه
New PointB
یک کلاس از پوینت ایجاد میکنه
Me.View.Count
تعدد عناصر رو میگیره
par.View.Count


DirectCast(par.View.Item(num3), PointB
یک نوع رو به کلاس point تبدیل می کنه
building.View.Add(tb5)
این مورد رو به لیست که از کلاس توضیخ داده شده اضافه می کنه
(DirectCast(building.View.Item((building.View.Coun t - 1)), PointB).y
عنصر یکی به آخر رو تبدیل نوع می کنه
building.View.Add(par.View.Item((par.View.Count - 1)))

Return building
کلاس رو برمیگردونهو

توصیخ می کنم اینطوری خیلی مفهومش سخته چون باید بدونیم کلاس building چیه باید کل پروژه رو بزاری.