从 Java 到 C# 的函数
本文关键字:函数 Java | 更新日期: 2023-09-27 18:36:53
我希望将这个确切的函数从任何语言(我认为是Java)转换为C#。
String hex_chr = "0123456789abcdef";
private String numToHex(int num) {
String str = "";
for (int j = 0; j <= 3; j++) {
str += "" + hex_chr.charAt((num >> (j * 8 + 4)) & 15) + "" + hex_chr.charAt((num >> (j * 8)) & 15);
}
return str;
}
如果您正在寻找精确的翻译,则只需将其作为字符数组处理即可。可以使用 ToCharArray()
方法,也可以直接索引到字符串中。
String hex_chr = "0123456789abcdef";
private String numToHex(int num)
{
String str = "";
for (int j = 0; j <= 3; j++)
{
str += "" + hex_chr[(num >> (j * 8 + 4)) & 15] + "" + hex_chr[(num >> (j * 8)) & 15];
}
return str;
}
您可能只想使用 HighCore 建议的 .ToString("X")
调用,但请记住,这不包括代码生成的字符串中存在的尾随零。
同样,为了在 Java 中更轻松地做到这一点,代码应该只是调用 Integer.toHexString()
.
.Net Framework 有一个内置函数,没有必要在你的项目中有那些丑陋的、不可维护的代码。
此示例利用名为"扩展方法"的 C# 功能
public static class IntExtensions
{
public static string ToHex(this int value)
{
return value.ToString("X");
}
}
用法:
var myinteger = 10;
Console.WriteLine(myinteger.ToHex()); //Outputs "A"
--或--
Console.WriteLine(255.ToHex()); //Outputs "FF"