Ich möchte ein Cache-Limit für mein C# -Programm festlegen. Mein Programm erstellt regelmäßig Dateien und speichert sie in einem Ordner. Ich will es so, wenn der Ordner (C: \ SysApp) dieses Limit (150000KB) erreicht, fängt es automatisch an, die Dateien zu löschen, beginnend mit den ältesten, die immer nur einen bestimmten Betrag löschen (149900KB).Wo füge ich diese Daten in meinen Code ein?
Bisher habe ich diesen Code:
private void DeleteOldFilesIfOverFolderLimit(string folderPath,
long folderSizeLimit,
long amountToDelete)
{
var folder = new DirectoryInfo(folderPath);
var files = folder.GetFiles();
var folderSize = files.Sum(fi => fi.Length);
if (folderSize > folderSizeLimit)
{
// Sort the list of files with the oldest first.
Array.Sort(files,
(fi1, fi2) => fi1.CreationTime.CompareTo(fi2.CreationTime));
var amountDeleted = 0L;
foreach (var file in files)
{
amountDeleted += file.Length;
file.Delete();
if (amountDeleted >= amountToDelete)
{
break;
}
}
}
}
Ich versuche nur, um herauszufinden, wo ich die spezifischen Daten für mein Programm einfügen muß (in ersten Absatz in Klammern angegeben).
ich Visual Studio Gemeinschaft 2015
Welchen Teil Ihres Codes verstehen Sie nicht? Sehen Sie sich die Funktionsparameter an. – SLaks
Ich bin versucht, diese Frage zu verwerfen, weil es genau unklar ist, was Sie fragen. Die Antwort kann nicht so einfach sein wie "gib sie in die klar benannten Parameter in deiner Funktion", oder? – BradleyDotNET
Wenn es konfigurierbar ist, legen Sie es in app.config. Wenn es nicht ist, dann habe es einfach als ein 'const' Feld in deiner Klasse. –