public string jiemi(string PlainStr, string key)
{
    string str3;
    int start = 1;
    if ((Strings.Len(PlainStr) % 2) == 0)
    {
        string str4 = Strings.StrReverse(Strings.Left(PlainStr, (int) Math.Round((double) (((double) Strings.Len(PlainStr)) / 2.0))));
        string str5 = Strings.StrReverse(Strings.Right(PlainStr, (int) Math.Round((double) (((double) Strings.Len(PlainStr)) / 2.0))));
        PlainStr = str4 + str5;
    }
    int num3 = Strings.Len(PlainStr);
    for (int i = 1; i <= num3; i++)
    {
        string str6 = Strings.Mid(PlainStr, i, 1);
        string str2 = Strings.Mid(key, start, 1);
        if (((((Strings.Asc(str6) ^ Strings.Asc(str2)) < 0x20) | ((Strings.Asc(str6) ^ Strings.Asc(str2)) > 0x7e)) | (Strings.Asc(str6) < 0)) | (Strings.Asc(str6) > 0xff))
        {
            str3 = str3 + str6;
        }
        else
        {
            str3 = str3 + StringType.FromChar(Strings.Chr(Strings.Asc(str6) ^ Strings.Asc(str2)));
        }
        if (start == Strings.Len(key))
        {
            start = 0;
        }
        start++;
    }
    return str3;
}  

解决方案 »

  1.   

    VB语句没有分号的。而且定义变量时DIM
      

  2.   

    这个就是C#代码呀,Microsoft.VisualBasic名称空间下的,楼主自己照着msdn转吧,很容易的
      

  3.   

    这个本身就是C#代码了,是不是要转成VB啊?
      

  4.   

    VB是这样的
     Function jiemi(ByVal PlainStr As String,ByVal keyAs String) As String
          Dim str3 As String   --声明变量
          Dim start As Int32
        If pDayCount >= 3 Then  --if 判定
            lResult = True
        End IfFor Each lEmployeeStartDateDataRow In lDataSet.Tables("EmployeeStartDateTable").Rows
    .....
    Next    ---for 循环