比较两个十六进制数(即字符串)的最佳方法是什么?例如,
string a = "3F";
string b = "32";
if (a > b)
MessageBox.Show("a is greater");应该行得通。(假设>已正确重载)。
发布于 2012-08-21 09:09:05
您始终可以将它们转换为整数,并以这种方式进行比较:
int a = int.Parse("3E", System.Globalization.NumberStyles.HexNumber);
int b = int.Parse("32", System.Globalization.NumberStyles.HexNumber);
if (a > b)
MessageBox.Show("a is greater");看起来更安全:)
发布于 2012-08-21 09:07:16
将它们转换为整数,然后比较这些整数。
发布于 2012-08-22 00:47:10
还有一个基于字符串比较的简单算法:假设你的数字有一个独特的格式:总是小写或大写字母。前导0x与否,没有前导零。然后你可以这样做:如果数字a的位数比数字b的多:a>b
如果位数相等,则可以使用String.Compare。
这种算法的优点是它不限于32或64位。
https://stackoverflow.com/questions/12047210
复制相似问题