Hallo Leute,
bei meinem Problem handelt es sich um folgende Aufgabe:
Irgendwie komme ich mit der Aufgabe nicht wirklich zurecht und mein Ansatz sieht sehr dürftig aus:
[highlight=c#]using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
namespace My.Collections
{
public class FileCache
{
public static IEnumerator ReadLine(Path path)
{
List<string> lines = new List<string>();
StreamReader reader = new StreamReader(path.ToString());
lines.Add(reader.ReadLine());
yield return lines[lines.Count - 1];
}
}
}
[/highlight]
Habt ihr vielleicht einen besseren Ansatz, Hinweise oder Vorschläge für mich? Den letzten Teil der Aufgabe habe ich irgendwie nicht ganz begriffen:
Ich zweifel auch besonders an meiner Lösung, da mein Lösungsweg so knapp ist, und die Aufgabe doppelt so viele Punkte geben soll, wie die anderen.
Lieben Gruß
bei meinem Problem handelt es sich um folgende Aufgabe:
"Die Klasse FileCache dient zum Einlesen und Zwischenspeichern von Dateien. Erstellen Sie in der Klasse FileCache eine statische Methode ReadLine.
Der Methode ReadLine wird der Dateipfad zu einer Textdatei übergeben. Diese Textdatei wird von der Methode eingelesen und jede einzelne Zeile über einen Enumerator zurückgegeben.
Die Zeilen der zuletzt eingelesenen Datei sollen zusätzlich in einer Liste zwischengespeichert werden, so dass bei einem nochmaligen Aufruf der Methode ReadLine diese nicht noch einmal eingelesen werden muss."
Der Methode ReadLine wird der Dateipfad zu einer Textdatei übergeben. Diese Textdatei wird von der Methode eingelesen und jede einzelne Zeile über einen Enumerator zurückgegeben.
Die Zeilen der zuletzt eingelesenen Datei sollen zusätzlich in einer Liste zwischengespeichert werden, so dass bei einem nochmaligen Aufruf der Methode ReadLine diese nicht noch einmal eingelesen werden muss."
Irgendwie komme ich mit der Aufgabe nicht wirklich zurecht und mein Ansatz sieht sehr dürftig aus:
[highlight=c#]using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
namespace My.Collections
{
public class FileCache
{
public static IEnumerator ReadLine(Path path)
{
List<string> lines = new List<string>();
StreamReader reader = new StreamReader(path.ToString());
lines.Add(reader.ReadLine());
yield return lines[lines.Count - 1];
}
}
}
[/highlight]
Habt ihr vielleicht einen besseren Ansatz, Hinweise oder Vorschläge für mich? Den letzten Teil der Aufgabe habe ich irgendwie nicht ganz begriffen:
Die Zeilen der zuletzt eingelesenen Datei sollen zusätzlich in einer Liste zwischengespeichert werden, so dass bei einem nochmaligen Aufruf der Methode ReadLine diese nicht noch einmal eingelesen werden muss.
Ich zweifel auch besonders an meiner Lösung, da mein Lösungsweg so knapp ist, und die Aufgabe doppelt so viele Punkte geben soll, wie die anderen.
Lieben Gruß
Comment