按顺序C#排序数组日期

时间:2015-03-21 20:48:12

标签: c# arrays sorting

我有一些代码从每个数组输出数据,但我只是想知道我的twoData数组是否存在一种方式,以便用户可以按升序或降序查看日期。目前它的输出如下:

16/03/2015 13/02/2015 2015年12月2日 2015年3月2日 2015年2月2日 30/01/2015 29/01/2014 28/01/2014 27/01/2014 26/01/2013 23/01/2013 22/01/2013

感谢。

static void Main(string[] args)
    {
        //int ctr = 0; 

        string[] oneData = File.ReadAllLines("One.txt");
        string[] twoData = File.ReadAllLines("Two.txt");

         Console.WriteLine("Which array would you like to view?");
         string input = Console.ReadLine(); 

            Console.Write("\n");

          if (input.ToLower() == "one")
             Console.Write(string.Join("\n", oneData));

          else if(input.ToLower() == "two")
             Console.Write(string.Join("\n", twoData));
    }

1 个答案:

答案 0 :(得分:3)

要按日期顺序对字符串进行排序,您需要将值解析为日期:

dateData = dateData
  .OrderBy(d => DateTime.ParseExact(d, "dd'/'MM'/'yyyy", CultureInfo.InvariantCulture))
  .ToArray();

使用OrderByDescending作为相反的顺序。