Ich habe so viel wie möglich gesucht und das einzige, was ich finden kann, sind Beispiele, die für meine Situation nicht relevant sind. Also bin ich hergekommen. Ich mache einen Speichereditor und versuche, die Kombinationsfeldoption in die Sicherungsdatei schreiben zu lassen. Nun, es scheint den ganzen Weg bis zu dem Punkt zu bekommen, an dem es geschrieben wird, aber dann schiebt es den Eingabestringfehler auf mich. Hier ist der relevante Code. Oh, und die ersten Zeichen der Kombinationsfeldoptionen sind Hexadezimalwerte.Warum erhalte ich einen Fehler "Input String is not in correct format"?
EDIT: ich einen Rückzieher, wenn die Zeichenfolge war tatsächlich eine Zeichenfolge
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();
Welche Zeile wirft? –
Zeichen und Zeichenfolge in C# sind zwei Byte-Objekte mit einer privaten Eigenschaft, die angibt, ob ein Zeichen aus ein oder zwei Bytes besteht. Sie müssen einen Codierungstyp wie Ascii, UTF7, UTF8, Unicode verwenden, um ordnungsgemäß in/aus einem Byte-Array zu konvertieren. Sie verschieben Ihre Stream-Position zu 0x684, die wahrscheinlich in der Mitte eines zwei Byte-Zeichens den Fehler gibt. – jdweng
string compWrite = Convert.ToString (write); fw.WriteByte (Convert.ToByte (compWrite)); – blujay