Это небольшой фрагмент кода, который я написал в Visual Studio. Мне нужно преобразовать int add
в шестнадцатеричное значение (позже в строку), поскольку я обращаюсь к памяти uC. Но когда я просматриваю переменную во время отладки, она отображает ее как строку «add16». Что я могу делать неправильно?C# преобразование int в hex
for (int add = 0; add <= 0xfffff;)
{
for (int X = 0; X <= 15; X++)
{
string address = add.ToString("add16");
addr = Convert.ToString(address);
port.WriteLine(String.Format("WRBK:{0}:{1}", addr, parts[X]));
add++;
}
}
Других ответов здесь все будет работать, но я хотел бы предложить просматривал [числовой формат строки] (https://msdn.microsoft.com/en-us/library/dwhawy9k%28v=vs.110%29.aspx#XFormatString), чтобы понять, почему ваш способ не работает. Вы можете использовать 'ToString()', чтобы получить шестнадцатеричную строку из int, но вы должны передать строку правильного формата, например. 'Add.ToString ("Х")'. –
Я хотел бы указать, что вы не можете «преобразовать int в hex», вы можете преобразовать его только в шестнадцатеричную строку. –