Hey Leute.
Ich abreite gerade an einem Programm, welches beim starten eine Liste der Ordner im "projects" Ordner in ein Dictionary<string, string> (dateiname mit pfad, dateiname ohne pfad) laden soll.
Ich realisiere das so:
Edit: In den leeren Anführungszeichen steht "\\"
Keine Ahnung, warum der code editor diese Zeichen nicht anzeigt.
Sobald ich die funktion aufrufe wird eine System.NullReferenceException geworfen.
Kann mir jemand erklären wieso?
cout.print ist eine alternative zu string.format, %s steht für einen string und %i für einen integer.
Die funktion habe ich ausgiebig getestet, sie sollte keine fehler verursachen.
Das Dictionary wird im statischen konstruktor bereits deklariert, daran liegt es nicht.
Grüße, Splitty
// Edit
Ich hab meinen Fehler gefunden, hab wohl tatsächlich vergessen, die funktion richtig aufzurufen.
Anstatt
Ich abreite gerade an einem Programm, welches beim starten eine Liste der Ordner im "projects" Ordner in ein Dictionary<string, string> (dateiname mit pfad, dateiname ohne pfad) laden soll.
Ich realisiere das so:
C#-Quellcode
- public static void FindProjects ()
- {
- cout.print ("Finding all projects... %s\n%i projects found.\n",
- (new Func<string>(() =>
- {
- try
- {
- string[] dirs = Directory.GetDirectories (Path.Combine (Environment.CurrentDirectory, "projects"));
- foreach (string dir in dirs)
- {
- Projects.Add (dir, dir.Substring (dir.Replace ("/", "").LastIndexOf ("")));
- }
- return "OK";
- }
- catch
- {
- return "Failed";
- }
- })), Projects.Count);
- }
Edit: In den leeren Anführungszeichen steht "\\"
Keine Ahnung, warum der code editor diese Zeichen nicht anzeigt.
Sobald ich die funktion aufrufe wird eine System.NullReferenceException geworfen.
Kann mir jemand erklären wieso?
cout.print ist eine alternative zu string.format, %s steht für einen string und %i für einen integer.
Die funktion habe ich ausgiebig getestet, sie sollte keine fehler verursachen.
Das Dictionary wird im statischen konstruktor bereits deklariert, daran liegt es nicht.
Grüße, Splitty
// Edit
Ich hab meinen Fehler gefunden, hab wohl tatsächlich vergessen, die funktion richtig aufzurufen.
Anstatt
(new func<string>(() => {...}))
muss es natürlich so aussehen: (new func<string>(() => {...}))()
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „SplittyDev“ ()