我当前的代码:
UInt32 example = Convert.ToUInt32(tb_address.Text, 16);
问题是如果我正在窥视这样的地址:
0x83e3ba3c + 0x15
toUint32
显然会返回一个错误并说不。
无论如何,我可以让操作员处理它吗?
我当前的代码:
UInt32 example = Convert.ToUInt32(tb_address.Text, 16);
问题是如果我正在窥视这样的地址:
0x83e3ba3c + 0x15
toUint32
显然会返回一个错误并说不。
无论如何,我可以让操作员处理它吗?
可能您最好的选择是将代码隐藏在静态类中。像这样的东西应该工作:
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);
通过这种方式添加其他操作很简单,只需添加适当的静态方法即可。
只需使用“+”拆分字符串。之后修剪结果,解析它们并将它们加在一起。