0

我当前的代码:

UInt32 example = Convert.ToUInt32(tb_address.Text, 16);

问题是如果我正在窥视这样的地址:

0x83e3ba3c + 0x15

toUint32显然会返回一个错误并说不。

无论如何,我可以让操作员处理它吗?

我的应用程序的图片可能会进一步了解它

4

2 回答 2

0

可能您最好的选择是将代码隐藏在静态类中。像这样的东西应该工作:

public static class HexAdder
{
    private static UInt32 num1 = 0, num2 = 0;
    private static void ParseString(string stringtoadd)
    {
        string[] temp = {"",""};
        try
        {
            temp = stringtoadd.Split(" +".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            num1 = Convert.ToUInt32(temp[0], 16);
            num2 = Convert.ToUInt32(temp[1], 16);
        }

        catch(Exception e)
        {

            MessageBox.Show("Invalid String Format\n- Added String = " + stringtoadd + "\n- First Part = " + temp[0] + "\n- Second Part = " + temp[1]);
        }
    }
    public static UInt32 AddedToUint32(string stringtoadd)
    {
        ParseString(stringtoadd);
        return num1 + num2;
    }
}

这具有基本验证并弹出一个消息框,如果有错误则返回 0。

使用它看起来像这样:

        string test = "0x83e3ba3c + 0x15";
        UInt32 example = HexAdder.AddedToUint32(test);

通过这种方式添加其他操作很简单,只需添加适当的静态方法即可。

于 2013-11-19T17:18:20.500 回答
0

只需使用“+”拆分字符串。之后修剪结果,解析它们并将它们加在一起。

于 2013-11-19T14:21:34.587 回答