我有一个TextBox,可以在其中选择文本。我想在突出显示的右侧显示Little Endian值,但是在输入字符串格式错误时出现错误。
此代码会将字节放在一个文本框中,但是当我尝试从中获取Int32值时,它会中断。如果我将BytesToConvert
所在的值硬编码,例如0x686F61
,那么它将起作用。
private void TextSelected_Event(object sender, RoutedEventArgs e)
{
byte[] ba = Encoding.Default.GetBytes(DisplayArea.SelectedText);
var hexString = BitConverter.ToString(ba);
if(ba.Length > 2)
{
string BytesToConvert = "0x";
BytesToConvert += hexString.Replace("-", "");
int IntConverted = Convert.ToInt32(BytesToConvert);
int32LE.Text = Convert.ToInt32(IntConverted).ToString();
}
selectedHex.Text = hexString;
}
我尝试过像这样进行Int.Parse将字符串转换为整数,但这也不起作用:
int IntConverted = Convert.ToInt32(int.Parse(BytesToConvert));