Laden ein .csv-Datei ins Wörterbuch, ich erhalte die Fehlermeldung "cannot convert from 'string[]' zu 'string'"
Ich habe streamreader zu Lesen .csv-Datei, dann muss ich mir die Aufteilung der Werte, und setzen Sie Sie in einem Wörterbuch. bisher habe ich:
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
Dictionary<string, string> dict = new Dictionary<string, string>();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
using (StreamReader reader = new StreamReader("textwords0.csv"))
{
string line;
while ((line = reader.ReadLine()) != null)
{
string[] parts = line.Split(',');
dict.Add(parts[0], parts[1]);
}
}
}
Ich erhalte die Fehlermeldung "cannot convert from 'string[]' zu 'string'", kann aber nicht herausfinden, wie es zu beheben.
Vielen Dank im Voraus!
update:
...Ich aus versehen in die csv-Datei öffnen und seine arbeiten jetzt, sorry für die Verschwendung der Zeit, die Leute dachten, dass ich hatte ein anderes Arbeitsblatt öffnen, einige sehr nützliche Ratschläge, aber vielen Dank für alle Hilfe!
- Die Linie gibt dir der Fehler??? Der dict.Zeile hinzufügen?
- Können wir die Ansicht de Quelle? (textwords0.csv)?
- VS sagt, Zeile 33 ist die Letzte }.
- Nicht sicher, ob Sie das Problem gelöst, aber sind Sie sicher, dass Sie werden immer die Ausnahme, die Sie schrieb in der Frage? Ich lief nur an einigen zufälligen Daten, und es hat Prima funktioniert
- Verwenden Sie ein CsvParser, es gibt ziemlich guten 3. Parteien, die kümmern sich um Grenzfälle, die Sie noch gar nicht gedacht.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie .NET 4.0, das folgende ist wirklich prägnante und sollte das gleiche erreichen:
("this is, a value")
- der Wert wird in zwei Hälften geteilt"This is 1st column, that also has a comma inside, so excel encloses column value in quotes",This is 2nd column no comma inside.
der Fehler ist eigentlich wegen des ',' der Eingabe. Es braucht ein "array" von Zeichen nach split aus. Hier ist ein Beispiel-Methode zu splitten mit string.split.
Hoffe, das hilft.
dies vorausgesetzt, ist dies die Zeile der Fehler kommt, da du noch nicht angegeben.