C# zu Vb.net Problem

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von EaranMaleasi.

    C# zu Vb.net Problem

    Hey,

    Hab im großen weitem Internet eine in C# geschriebene Funktion gefunden, die ich gerne in VB.net übersetzten möchte.
    Hab schon ein paar Online Converter benutzt, doch bei einer stelle versagen alle

    C# Function
    Spoiler anzeigen

    C#-Quellcode

    1. private byte[] GetHexBytes(string source)
    2. {
    3. List<byte> bytes = new List<byte>();
    4. // copy s into ss, adding spaces between each byte
    5. string s = source;
    6. string ss = "";
    7. int currentbytelength = 0;
    8. foreach (char c in s.ToCharArray())
    9. {
    10. if (c == ' ')
    11. {
    12. currentbytelength = 0;
    13. }
    14. else
    15. {
    16. currentbytelength++;
    17. if (currentbytelength == 3)
    18. {
    19. currentbytelength = 1;
    20. ss += ' ';
    21. }
    22. }
    23. ss += c;
    24. }
    25. foreach (string b in ss.Split(' '))
    26. {
    27. int v = 0;
    28. if (b.Trim() == "") continue;
    29. foreach (char c in b.ToCharArray())
    30. {
    31. if (c >= '0' && c <= '9')
    32. {
    33. v *= 16;
    34. v += (c - '0');
    35. }
    36. else if (c >= 'a' && c <= 'f')
    37. {
    38. v *= 16;
    39. v += (c - 'a' + 10);
    40. }
    41. else if (c >= 'A' && c <= 'F')
    42. {
    43. v *= 16;
    44. v += (c - 'A' + 10);
    45. }
    46. }
    47. v &= 0xff;
    48. bytes.Add((byte)v);
    49. }
    50. return bytes.ToArray();
    51. }​


    Online Converter zu Vb.net
    Spoiler anzeigen

    VB.NET-Quellcode

    1. ​Private Function GetHexBytes(source As String) As Byte()
    2. Dim bytes As New List(Of Byte)()
    3. ' copy s into ss, adding spaces between each byte
    4. Dim s As String = source
    5. Dim ss As String = ""
    6. Dim currentbytelength As Integer = 0
    7. For Each c As Char In s.ToCharArray()
    8. If c = " "c Then
    9. currentbytelength = 0
    10. Else
    11. currentbytelength += 1
    12. If currentbytelength = 3 Then
    13. currentbytelength = 1
    14. ss += " "c
    15. End If
    16. End If
    17. ss += c
    18. Next
    19. For Each b As String In ss.Split(" "c)
    20. Dim v As Integer = 0
    21. If b.Trim() = "" Then
    22. Continue For
    23. End If
    24. For Each c As Char In b.ToCharArray()
    25. If c >= "0"c AndAlso c <= "9"c Then
    26. v *= 16
    27. v += (c - "0"c)
    28. ElseIf c >= "a"c AndAlso c <= "f"c Then
    29. v *= 16
    30. v += (c - "a"c + 10)
    31. ElseIf c >= "A"c AndAlso c <= "F"c Then
    32. v *= 16
    33. v += (c - "A"c + 10)
    34. End If
    35. Next
    36. v = v And &HFF
    37. bytes.Add(CByte(v))
    38. Next
    39. Return bytes.ToArray()
    40. End Function



    Fehler (Der --Operator ist für die Typen "Char" und "Char" nicht definiert), tritt bei Zeile 30,33,36 auf.

    mfg Azu
    _-_-__-_-__-_-__-_-__-_-__-_-__-_-__-_-__-_-__-_-__-_-__-_-__-_-__-_-__-_-__-_-__-_-_

    MFG

    _-_-__-_-__-_-__-_-__-_-__-_-__-_-__-_-__-_-__-_-__-_-__-_-__-_-__-_-__-_-__-_-__-_-_