我目前的代码:
UInt32 example = Convert.ToUInt32(tb_address.Text, 16);
问题是我是否正在偷看这样的地址:
0x83e3ba3c + 0x15
toUint32
显然会返回错误并拒绝。
无论如何,我可以在其中处理操作员吗?
答案 0 :(得分:0)
使用'+'分割字符串。在修剪结果之后,解析它们并将它们添加到一起。
答案 1 :(得分: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);
这样添加其他操作只需添加适当的静态方法即可。