我尽可能多地搜索,我唯一能找到的是与我的情况无关的例子。所以我来到这里我正在制作一个保存编辑器,我正在尝试将组合框选项写入保存文件。好吧,它似乎一路走到了写它的地步,但随后它将输入字符串错误推向了我。这是相关的代码。哦,组合框选项的第一个字符是必需的十六进制值。
编辑:当字符串实际上是一个字符串
时,我回溯到了 string filename = textBox1.Text;
//if comboBox1.SelectedIndex
string comboxVal = comboBox1.Text;
char[] chimney = new char[4];
chimney[0] = '0';
chimney[1] = 'x';
comboxVal.CopyTo(0, chimney, 2, 2);
string s = new string(chimney);
label7.Text = s;
FileStream fw = new FileStream(filename, FileMode.Open, FileAccess.ReadWrite);
fw.Position = 0x684;
fw.WriteByte(Convert.ToByte(s));
fw.Close();
答案 0 :(得分:0)
让我们看看这里发生了什么。
你有char[] write
。一组字符。
您致电string compWrite = Convert.ToString(write);
。接收对象作为输入的Convert.ToString(object value)
的重载由编译器选择(您可以通过在ToString
上移动鼠标光标来检查它。)
因此Convert.ToString(object)
被调用,结果为System.Char[]
,存储在compWrite
。
现在我们有Convert.ToByte(compWrite)
尝试将数字的字符串表示转换为byte类型的整数变量。有任何疑问它失败了“输入字符串格式不正确”错误?