您的位置:首页 > 编程语言 > C#

c#文件排序和文件夹排序

2016-02-02 11:23 225 查看


  一、C#文件排序

  1、按名称顺序排列

  /// <summary>

  /// C#按文件名排序(顺序)

  /// </summary>

  /// <param name="arrFi">待排序数组</param>

  private void SortAsFileName(ref FileInfo[]
arrFi)

  {

    Array.Sort(arrFi, delegate(FileInfo x, FileInfo y)
{ returnx.Name.CompareTo(y.Name); });

  }

  调用方法:

  private void SortFiles()

  {

    string filePath = "E:\\";

    DirectoryInfo di = new DirectoryInfo(filePath);

    FileInfo[] arrFi = di.GetFiles("*.*");

    SortAsFileName(ref arrFi);

    for (int i = 0; i < arrFi.Length; i++)

      Response.Write(arrFi[i].Name + ":<br />");

  }

  上面的代码是对 E 盘根目录下的所有文件排序,代码测试通过,可直接调用。

  2、按名称倒序排列

  /// <summary>

  /// C#按文件名排序(倒序)

  /// </summary>

  /// <param name="arrFi">待排序数组</param>

  private void SortAsFileName(ref FileInfo[]
arrFi)

  {

    Array.Sort(arrFi, delegate(FileInfo x, FileInfo y)
{ returny.Name.CompareTo(x.Name); });

  }

  调用方法跟顺序排列一样,就不举例了。

  3、按创建时间顺序排列

  /// <summary>

  /// C#按创建时间排序(顺序)

  /// </summary>

  /// <param name="arrFi">待排序数组</param>

  private void SortAsFileCreationTime(ref FileInfo[]
arrFi)

  {

    Array.Sort(arrFi, delegate(FileInfo x, FileInfo y)
{ returnx.CreationTime.CompareTo(y.CreationTime); });

  }

  调用方法与上同。

  4、按创建时间倒序排列

  /// <summary>

  /// C#按创建时间排序(倒序)

  /// </summary>

  /// <param name="arrFi">待排序数组</param>

  private void SortAsFileCreationTime(ref FileInfo[]
arrFi)

  {

    Array.Sort(arrFi, delegate(FileInfo x, FileInfo y)
{ returny.CreationTime.CompareTo(x.CreationTime); });

  }

  调用方法与上同。


  二、C#文件夹排序

  1、按文件夹名称顺序排列

  /// <summary>

  /// C#按文件夹名称排序(顺序)

  /// </summary>

  /// <param name="dirs">待排序文件夹数组</param>

  private void SortAsFolderName(ref DirectoryInfo[]
dirs)

  {

    Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y)
{ returnx.Name.CompareTo(y.Name); });

  }

  调用方法:

  private void FolderSort()

  {

    string filePath = "E:\\";

    DirectoryInfo di = new DirectoryInfo(filePath);

    DirectoryInfo[] arrDir = di.GetDirectories();

    SortAsFolderName(ref arrDir);

    for (int i = 0; i < arrDir.Length; i++)

      Response.Write(arrDir[i].Name + ":<br />");

  }

  上述代码是对 E 盘根目录下的所有文件夹按名称顺序排列,代码也通过 Visual studio 2010 测试。

  2、按文件夹名称倒序排列

  /// <summary>

  /// C#按文件夹名称排序(倒序)

  /// </summary>

  /// <param name="dirs">待排序文件夹数组</param>

  private void SortAsFolderName(ref DirectoryInfo[]
dirs)

  {

    Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y)
{ returny.Name.CompareTo(x.Name); });

  }

  3、按文件夹创建时间顺序排列

  /// <summary>

  /// C#按文件夹夹创建时间排序(顺序)

  /// </summary>

  /// <param name="dirs">待排序文件夹数组</param>

  private void SortAsFolderCreationTime(ref DirectoryInfo[]
dirs)

  {

    Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y)
{ returnx.CreationTime.CompareTo(y.CreationTime); });

  }

  4、按文件夹创建时间倒序排列

  /// <summary>

  /// C#按文件夹创建时间排序(倒序)

  /// </summary>

  /// <param name="dirs">待排序文件夹数组</param>

  private void SortAsFolderCreationTime(ref DirectoryInfo[]
dirs)

  {

    Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y)
{ returny.CreationTime.CompareTo(x.CreationTime); });

  }

  如果要按文件或文件夹的最后修改时间排序,方法也是一样的,只需把 CreationTime 改为 LastWriteTime 即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: