files[] 数组有N个文件,如何取出最新更新时间的文件 和最老更新时间的文件名
例如
file1 2010/01/12 , 13:13:01
file2 2010/01/11 , 13:13:01
file3 2010/01/11 , 13:13:10
file4 2010/01/10 , 13:13:01
哪么就应该提取 最新的 file1 和最老的 file4的文件名
怎么实现,请赐教。方便的话付代码供学习,谢谢。

解决方案 »

  1.   

    遍历一次不就知道了?DateTime oldest = DateTime.MaxValue;
    DateTime newest = DateTime.MinValue;
    foreach (FileInfo file in files)
    {
        if (file.LastWriteTime> newest) newest = file.LastWriteTime;
        if (file.LastWriteTime< oldest) oldest = file.LastWriteTime;
    }
    MessageBox.Show(oldest + " -> " + newest);
      

  2.   

    files[] fi;
    fi=fi.OrderBy(f=>f.Time).ToArray();
    var f1=fi.FirstOrDefault();
    var f2=fi.LastOrDefault();
      

  3.   

    files.Min(f => f.LastWriteTime)
    files.Max(f => f.LastWriteTime)
      

  4.   

    files[] fi;
    var result=( from q in  fi OrderBy q.LastWriteTime).ToList();
    max
    min
    result[0]
      

  5.   

    返回的是FileInfo,你想要啥都有何止文件名...
      

  6.   

    Max Min返回的是对象中的属性值  不是整个对象吧
      

  7.   

    你觉得FirstOrDefault返回的啥?不确定就去查查MSDN吧...提示你一下,这几个方法都是Linq方法,不可能知道该返回什么属性...
      

  8.   


    好吧。。既然你懒得MSDN 我就替我找找吧:
    http://msdn.microsoft.com/en-us/vcsharp/aa336747#maxSimple至少我确定 你错了
      

  9.   


     string[] words = { "cherry", "apple", "blueberry" };
     
        var longestLength = words.Max(w => w.Length);
       //按你的理解  longestLength应该是 “blueberry” 了?
       //但实际情况 longestLength  却是9 int类型的
     
        Console.WriteLine("The longest word is {0} characters long.", longestLength);
      

  10.   

    其他我就不说了不确定就去查查MSDN吧.这句还给你
      

  11.   

    今天是什么日子。。sp发灌水贴。。vrhero居然记错
    难道临近2012,各种反常现象都出现了么?