我这有一段C#代码, 
public string GetTelphone(string SMS)
        {
            string tel = SMS.Substring(26, 12);
            string s = "";
            for (int i = 0; i < 9; i += 2)
            {
                s += tel[i + 1];
                s += tel[i];
            }
            s += tel[tel.Length - 1];
            return s;
        }
哪位好心人能帮我翻译成为VB的啊
Public Function GetTelphone(SMS As String) As StringEnd Function
我这基础实在太差,麻烦各位了!

解决方案 »

  1.   


    Public Function GetTelphone(ByVal SMS As String) As String
        Dim tel As String
        Dim s As String
        Dim i As Integer    tel = Mid(SMS, 26, 12)
        For i = 0 To 9 - 1 Step i = i + 2
            s = s + tel(i + 1)
            s = s + tel(i)
        Next
        s = s + tel(tel.Length - 1)
        GetTelphone = s
    End Function
    大致是这个样子吧,请其它高手斧正。
      

  2.   

    s = "" 没翻译出来
    tel.Length应该是Len(Tel),tel不是对象,在VB中无属性
    至少有以上两个毛病
      

  3.   

    For i = 0 To 9 - 1 Step 2
    第三个毛病
      

  4.   

    s = "" 不用翻译
    VB自动初始化变量
      

  5.   

    Public Function GetTelphone(SMS As String) As String 
       dim Tel as string
       dim S as string
       tel=mid(SMS,13,14)
       for i = 1 to 9 step 2
         s = s & mid(tel,i+1,1)
         s = s & mid(tel,i,1)
       next
       s = s & right(tel,1)
    End Function 
      

  6.   


    Public Function GetTelphone(SMS As String) As String 
      dim Tel as string 
      dim S as string 
      tel=mid(SMS,13,14) 
      for i = 1 to 9 step 2 
        s = s & mid(tel,i+1,1) 
        s = s & mid(tel,i,1) 
      next 
      s = s & right(tel,1) 
      GetTelphone=S
    End Function 
      

  7.   

    '我不懂C.自己理解啊,望高手指正
    public string GetTelphone(string SMS) 
            { 
                string tel = SMS.Substring(26, 12);  
                 '取得SMS的子串,从12(13)位至26位,共14个字符
                  '相当于 mid(SMS,13,14) '因为VB是从Start位就开始,而C应该是从Start的下一位开始
                string s = ""; 
                '这句就不用说了.
                for (int i = 0; i < 9; i += 2) '相当于 for i=0 to 8 setp 2 
                 'C中从0开始,VB中从1开始,我就用了 for i=1 to 9 Setp 2
                { 
                    s += tel[i + 1]; '当i等于0时 tel[i+1]相当于 Tel字串的第二位. C好象是从0开始的
                      '那上一句是不是相当于 S=S & mid(tel,i+1,1)
                    s += tel[i];     ' 
                } 
                s += tel[tel.Length - 1]; 
                'tel[tel.Length - 1]这一句是取得Tel字串的最后一位了.
                return s; 
            } 
      

  8.   

    Public Function GetTelphone(SMS As String) As String
    Dim i As Integer
    Dim tel As String
    Dim s As String
    tel = Mid(SMS, 27, 12)
    For i = 1 To 10 Step 2
        s = s + Mid(tel, i + 1, 1)
        s = s + Mid(tel, i, 1)
    Next i
    s = s + Mid(tel, Len(tel), 1)
    GetTelphone = s
    End FunctionC# 0 = vb 1
      

  9.   

    For i = 1 To 10 Step 2 尽管没什么错,好象很少这么用的
    For i = 1 To 9 Step 2