تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[مساعدة] تحويل من #C إلى Vb
#5
الكود التالي عبارة عن كلاس يؤدي نفس الفكرة
الكلاس مكتوب بشكل يختلف قليلا عن الكلاس الخاص بك
PHP كود :
Public Class WordGenerator
    Implements IEnumerable
(Of String)

 
   Private _source As String
    Private _valid 
As Integer

    Public Sub 
New(source As String)
 
       _source source
        _valid 
= If(Not String.IsNullOrEmpty(source), 10)
 
   End Sub

    Private 
Function Increment() As List(Of String)
 
       Dim values As List(Of Char) = CType(Nothing, List(Of Char))
 
       Dim result As List(Of String) = CType(Nothing, List(Of String))
 
       If _valid Then
            values 
_source.Distinct().ToList
            result 
= New List(Of String)()
 
           Dim i As Integer 0
            While i 
values.Count
                Dim func 
As Func(Of StringString) = Function(svalues(i).ToString values(i).ToString values(i).ToString s
                Dim indented 
As String String.Empty
 
               If TryIncrement(funcThen
                    indented 
+= func(values(values.Count i).ToString)
 
                   result.Add(indented)
 
               End If
 
               i += 1
            End 
While
 
       End If

 
       Return result
    End 
Function

 
   Private Function TryInCrement(ByRef source As Stringfunc As Func(Of StringString)) As Boolean
        While func IsNot Nothing
            Dim src 
As String source
            Dim dest 
As String func(src)
 
           If src dest Then
                Exit 
While
 
           End If
 
           If src <> dest Then
                Return True
            End 
If
 
       End While
 
       Return False
    End 
Function

 
   Private Function TryIncrement(func As Func(Of StringString)) As Boolean
        Dim source 
As String Nothing
        Return TryInCrement
(sourcefunc)
 
   End Function

 
   Public Function GetEnumerator() As IEnumerator(Of String) Implements IEnumerable(Of String).GetEnumerator
        Return 
If(_validCType(Increment(), IEnumerable(Of String)).GetEnumerator, New List(Of String)().GetEnumerator)
 
   End Function

 
   Private Function IEnumerable_GetEnumerator() As IEnumerator Implements IEnumerable.GetEnumerator
        Return 
If(_validCType(Increment(), IEnumerable(Of String)).GetEnumerator, New List(Of String)().GetEnumerator)
 
   End Function

End Class 

طريقة الاستخدام


PHP كود :
Public Class Form1
    Private Sub Form1_Load
(sender As ObjectAs EventArgsHandles MyBase.Load
        Dim s 
As String "ABCDEF"
 
       Dim wg As WordGenerator = New WordGenerator(s)
 
       For Each value As String In wg
            ListBox1
.Items.Add(value)
 
       Next
    End Sub
End 
Class 
Retired
الرد }}}
تم الشكر بواسطة: أحمد إبراهيم سعد


الردود في هذا الموضوع
RE: [مساعدة] تحويل من #C إلى Vb - بواسطة silverlight - 19-12-17, 01:26 PM


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم