private void button1_Click(object sender, EventArgs e)
{
    string recentPath = Environment.GetFolderPath(Environment.SpecialFolder.Recent);
    string[] fileNames = Directory.GetFiles(recentPath, "*.lnk");
    DateTime[] fileTimes = new DateTime[fileNames.Length];    for (int i = 0; i < fileNames.Length; i++)
    {
        FileInfo fileInfo = new FileInfo(fileNames[i]);
        fileTimes[i] = fileInfo.LastWriteTime;
    }
    Array.Sort<DateTime, string>(fileTimes, fileNames); // 按时间排序
    int j = 0;
    for (int i = fileNames.Length - 1; i >= 0; i--)
    {
        Console.WriteLine(fileNames[i]);
        if (j++ >= 12) break;
    }
}
Array.Sort<DateTime, string>(fileTimes, fileNames); // 按时间排序
这一行代码中的大于号和小于号怎么理解~

解决方案 »

  1.   

    调用的是Array模板方法,模板方法就不多说了。
    其中DateTime,string是传入对象的类型,fileTimes,fileNames是储存了相应类型的值的变量
      

  2.   

    泛型吧,
    Array.Sort <DateTime, string>(fileTimes, fileNames); // 按时间排序 意思是
    fileTimes对应是DateTime类型的
    fileNames对应是string 类型的就是这些,而你整个方法的意思就是从最近访问的文件夹中取出所有的.lnk文件并按照文件日期和文件名的顺序打印文件名的前12个字符出来o(∩_∩)o..