C# 我有一个字符串数组的列表,我需要它根据每个字符串数组中的日期进行排序 List customerRental=new List(); System.IO.StreamReader file=new System.IO.StreamReader(@“transactions.txt”); 而((line=file.ReadLine())!=null) { if(行包含(所有客户[i])) { customerental.Add(line.Split(“#”); } } file.Close(); } 捕获(IOEX异常) { //捕获异常 }

C# 我有一个字符串数组的列表,我需要它根据每个字符串数组中的日期进行排序 List customerRental=new List(); System.IO.StreamReader file=new System.IO.StreamReader(@“transactions.txt”); 而((line=file.ReadLine())!=null) { if(行包含(所有客户[i])) { customerental.Add(line.Split(“#”); } } file.Close(); } 捕获(IOEX异常) { //捕获异常 },c#,C#,这是列表,在每个字符串[]中,索引3处都有一个日期。我想根据此日期对此列表进行排序。在注释中的示例中,您的日期格式为dd/MM/yyyy,除非是先月后日。所以要对列表进行排序,您可以这样做 List<string[]> customerRental = new List<string[]>(); System.IO.StreamReader file = new System.IO.StreamReader(@"transactions.txt");

这是列表,在每个字符串[]中,索引3处都有一个日期。我想根据此日期对此列表进行排序。

在注释中的示例中,您的日期格式为dd/MM/yyyy,除非是先月后日。所以要对列表进行排序,您可以这样做

    List<string[]> customerRental = new List<string[]>();
    System.IO.StreamReader file = new System.IO.StreamReader(@"transactions.txt");

                while ((line = file.ReadLine()) != null)
                {
                    if (line.Contains(allCustomers[i]))
                    {
                        customerRental.Add(line.Split('#'));
                    }
                }
                file.Close();
            }
            catch (IOException ex)
            {
                //Catch exception
            }
如果这是
MM/dd/yyyy
的第一个月更改
MM/dd/yyyy

别忘了加上

customerRental = customerRental.OrderBy(x => DateTime.ParseExact(x[3], "dd/MM/yyyy", null)).ToList();

var result=customerRental.Orderby(x=>DateTime.Parse(x[3])?听起来这个字符串数组真的应该是一个对象。请给出一个你想要的输入和输出的例子。@David实际上我正在读取一个文本文件,该文件已被删除,然后将其拆分为一个数组并对内容进行排序。这是正确的方法吗?@Faisal:如果您对该数据执行任何逻辑(例如将一个字符串值解析为日期进行排序),那么将其转换为对象可能是一个好主意。数组不是很好的对象。请参阅重构模式“用对象替换数组”:@Faisal如果我的答案解决了您的问题,请随时表明您已经找到了解决方案。抱歉,我是新手。我会在我找到如何做之后:)
using System.Linq;