日期:2014-05-18  浏览次数:20819 次

语法问题,大家看看哪里出问题了
C# code
using System;

class Hex
{

private static string str_key;

static string decode(string str)
{
    string str2 = str_key;
    string str3 = "";
    int num5 = 0;
    if (str == "")
    {
        return "";
    }
    int length = str2.Length;
    if (length == 0)
    {
        str2 = "Think Space";
    }
    int num2 = 0;
    int num3 = Convert.ToInt32(str.Substring(0, 2), 0x10);
    int startIndex = 2;
    while (true)
    {
        try
        {
            num5 = Convert.ToInt32(str.Substring(startIndex, 2), 0x10);
        }
        catch (Exception)
        {
        }
        int num6 = num5 ^ Convert.ToInt32(str2[num2]);
        if (num6 <= num3)
        {
            num6 = (0xff + num6) - num3;
        }
        else
        {
            num6 -= num3;
        }
        str3 = str3 + Convert.ToChar(num6);
        num3 = num5;
        startIndex += 2;
        if (num2 < length)
        {
            num2++;
        }
        else
        {
            num2 = 1;
        }
        if (startIndex >= str.Length)
        {
            return str3;
        }
    }
}

static void Main()
    {
    Console.WriteLine(decode("870098489"));
    }

}


------解决方案--------------------
string str2 = str_key;
=>
string str2 = str;