<script type="text/javascript">
var e="abcd",
n=5555;
for(var r=0,i=e.length;r<i;++r)
{
    n+=(n<<5)+e.charAt(r).charCodeAt();
}
document.write(n&1234)
</script>
这句是js的代码,如何翻译成c#的呢?
主要是for中间的 charat和charcodeat

解决方案 »

  1.   


    static int Fuck(string code)
    {
        if (string.IsNullOrEmpty(code)) return 0;
        int n = 5555;
        byte[] buffer = Encoding.Unicode.GetBytes(code.ToCharArray());
        for (int r = 0; r < code.Length; r++)
        {
            n += (n << 5) + buffer[r];
        }
        return n & 1234;
    }
      

  2.   

    不知道对不对哦,"abcd"  ==>  1170
      

  3.   


    不对哦,按照上面的abcd输出的值是 1232不是1170
      

  4.   

    上面写错了Ansic==>>>> ASCIIstatic int Fuck(string code)
    {
        if (string.IsNullOrEmpty(code)) return 0;
        int n = 5555;
        byte[] buffer = Encoding.ASCII.GetBytes(code.ToCharArray());
        for (int r = 0; r < code.Length; r++)
        {
            n += (n << 5) + buffer[r];
        }
        return n & 1234;
    }
      

  5.   


    谢谢,这下对了,我查资料说js的
    charCodeAt是输出 unicode
    原来是ASCII
      

  6.   


    谢谢,这下对了,我查资料说js的
    charCodeAt是输出 unicode
    原来是ASCII对啊,所以一开始我写Unicode