gpt4 book ai didi

c# - 按创建日期 C# 对 List 进行排序

转载 作者:太空狗 更新时间:2023-10-29 18:07:36 29 4
gpt4 key购买 nike

在 MSDN 上使用这个例子:

using System.Collections.Generic;  
using System.IO;

namespace CollectionTest
{
public class ListSort
{
static void Main(string[] args)
{
List<FileInfo> files = new List<FileInfo>();
files.Add(new FileInfo("d(1)"));
files.Add(new FileInfo("d"));
files.Add(new FileInfo("d(2)"));

files.Sort(new CompareFileInfoEntries());
}

}

public class CompareFileInfoEntries : IComparer<FileInfo>
{
public int Compare(FileInfo f1, FileInfo f2)
{
return (string.Compare(f1.Name, f2.Name));
}
}

}

我将如何比较创建日期。

F1 有一个属性“创建”日期,它是一个 FileSystemInfo.Datetime,但是当我尝试这个时:

  public class CompareFileInfoEntries : IComparer<FileInfo>
{
public int Compare(FileInfo f1, FileInfo f2)
{

return (DateTime.Compare(DateTime.Parse(f1.CreationTime), f2.CreationTime));
}
}
}

我得到了 String 的重载方法匹配。比较(字符串,字符串)注意:我在上面的脚本中使用了两种方法来尝试返回创建时间。两者都不起作用 - 它们在我的实际脚本中是相同的。

我能得到的最接近的是:

return (DateTime.Compare(DateTime.Parse(f1.CreationTime.ToString()), DateTime.Parse(f2.CreationTime.ToString() )));

最佳答案

描述

为此,您可以简单地使用 LINQ(命名空间 System.Linq)

Language Integrated Query (LINQ, pronounced "link") is a Microsoft .NET Framework component that adds native data querying capabilities to .NET languages

示例

List<FileInfo> orderedList = files.OrderBy(x => x.CreationTime).ToList();

更多信息

关于c# - 按创建日期 C# 对 List<FileInfo> 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9001544/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com