Guten morgen,
ich habe folgendes problem:
Das soll gemacht werden:
private void openToolStripMenuItem_Click(object sender, EventArgs e)
{
Form1.ItemList.Clear();
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Title = "Load mobname_*.lod";
openFileDialog.InitialDirectory = "";
openFileDialog.Filter = "mobname_*.lod|mobname_*.lod|All|*.*";
if (openFileDialog.ShowDialog() == DialogResult.Cancel)
return;
Text = "Mobname Editor(" + openFileDialog.SafeFileName + ")";
using (BinaryReader binaryReader = new BinaryReader((Stream)File.Open(openFileDialog.FileName, FileMode.Open)))
{
binaryReader.ReadInt32();
while (binaryReader.BaseStream.Position < binaryReader.BaseStream.Length)
{
Form1.ItemList.Add(new ItemContainer()
{
Index = binaryReader.ReadInt32(),
String = binaryReader.ReadBytes(binaryReader.ReadInt32())
});
listBox1.Items.Clear();
}
int num = Enumerable.Count<ItemContainer>((IEnumerable<ItemContainer>)Form1.ItemList);
for (int index = 0; index < num; ++index)
listBox1.Items.Add((object)((string)(object)Form1.ItemList[index].Index + (object)" - " + Encoding.GetEncoding(ISO).GetString(Form1.ItemList[index].String)));
}
}
Jedoch wenn ich die Datei geöffnet habe werden die Daten nicht in der Listbox angezeigt, sondern folgender Fehler erscheint:
Das Objekt des Typs "System.Int32" kann nicht in Typ "System.String" umgewandelt werden.
Er kommt hier:
listBox1.Items.Add((object)((string)(object)Form1.ItemList[index].Index + (object)" - " + Encoding.GetEncoding(ISO).GetString(Form1.ItemList[index].String)));