Wieso so kompliziert?
Mittels
DirectoryInfo.GetFiles bekommst du direkt ein
FileInfo[]. Dort brauchst du dann bloß noch die Zeit abfragen. Das ganze über Strings laufen zu lassen ist sehr kompliziert.
Desweiteren solltest du statt
new DateTime(2001,1,1) einfach
DateTime.MinValue benutzen.
Allse in allem also so:
public string GetNewestFilesName( string DirectoryName, string FileMask )
{
DateTime newestDate = DateTime.MinValue;
int newestIndex = 0;
FileInfo[] Files = (new DirectoryInfo( DirectoryName )).GetFiles( FileMask );
for ( int i = 0; i < Files.Length; i+ )
{
if (newestDate < Files[i].LastWriteTime)
{
newestDate = Files[i].LastWriteTime;
newestIndex = i;
}
}
return (Files.Length > 0) ? Files[newestIndex].FullName : null;
}