so iam versuchen, ein "Programm" zu machen, die mir eine Ausgabe von Passwörtern gibt, die bald in meinen Firmen AD ablaufen wird. aber ich stoße auf ein kleines Problem. Wenn ich "array.sort (array)" anrufe, dann ist es ein String, der eine Zeitspanne und Namen von wer es ist, es scheint, dass es Menschen gruppiert, wie lange es noch übrig ist, aber nicht die kleinste Nummer zuerst. hat jemand eine Idee, wie man das beheben kann, da es eine Schnur ist? * Ich kenne iam einen Amateur-Programmierer mit lausigen Code, der schwer zu lesen ist!mit Array.sort auch eine Zeichenfolge
foreach (Principal p in grp.GetMembers(false))
{
TimeSpan tidtilbage = timeToExpire.GetTimeRemainingUntilPasswordExpiration(DOMAIN, p.SamAccountName);
TimeSpan under14 = new TimeSpan(14, 00, 00, 00);
TimeSpan ikkeMinus10 = new TimeSpan(-10, 00, 00, 00);
if (tidtilbage < under14 && tidtilbage > ikkeMinus10)
{
string lines = tidtilbage.ToString("%d") + " dag(e)" + " " + tidtilbage.ToString("%h") + " time(r)" + " - " + p.SamAccountName.ToUpper() + " - " + p.DisplayName + "\n\n";
sorted[i] = lines;
Array.Sort(sorted);
i++;
}
else
continue;
}
foreach (var item in sorted)
{
if (item == null || item == "")
continue;
else
{
Console.WriteLine("{0}", item);
myWriter.WriteLine("{0}", item);
}
}
myWriter.Close();
dies ist der Ausgang i erhalten:
Also was ist das Problem?! – Vikrant
Ich denke sein Problem ist, dass er nach Tagen sortiert anstatt nach Zeitspannen sortieren möchte. "11" als String kommt vor "4" als String. –
in der Tat Sebastian :) –