http://www.developerfusion.co.uk/utilities/convertvbtocsharp.aspx也可以用SharpDevelop  ,不过转出来的效果不好

解决方案 »

  1.   


    public void Write(string pass)
    {
    string str;
    for(int i=1;i<pass.length;i++)
    {
    Str = Str & Chr(Asc(Mid(Pass, i, 1)) - 2 - CInt(i * 0.7891));
    }
    return str;
    }
      

  2.   

    public void Write(string pass)
    {
       int i;
       str Str;
       for(i = 1;i <= Len(Pass);i++)
       {
          Str += Chr(Asc(pass[i]) - 2 - (int)(i * 0.7891))
       }
       return Str;
    }
      

  3.   

    public void Write(string pass)
    {
       int i;
       str Str;
       for(i = 1;i <= Len(Pass);i++)
       {
          Str += Char(Asc(pass[i]) - 2 - (int)(i * 0.7891))
       }
       return Str;
    }
    This is very perfect!!!
      

  4.   

    但是问题是C#里面并没有ASC这个函数的,怎么办呢
      

  5.   

    public string Write(string pass)
    {
      string Str = "";
      string substring;
      byte[] bs=null;
      System.Text.Encoding EncodeType = System.Text.Encoding.ASCII; 
      for(int i=0; i<pass.Length; i++)
      {
       substring = pass.Substring(i,1);
       bs = EncodeType.GetBytes(substring);
       bs[0] = Convert.ToByte(bs[0] - 2 - Convert.ToInt32((i+1) * 0.7891));
       Str = Str + EncodeType.GetString(bs);
       }
      return Str;
    }另外,你的VB函数贴的有问题,
    1.Write是关键字,不能作为函数名
    2.return是C/C#的返回关键字,VB里用的是“ 函数名 = 返回值”
      

  6.   

    忘说了, 上面对西文字符测试没有问题,对于中文字还是不行,是因为VB的UNICODE编码问题,期望高手解答,我对VB的ASC函数在C#里到底如何转换不是很了解....