C# 3.0 - 如何从星期一开始按周名称排序列表?

And*_*nda 2 c# lambda linq-to-sql

我有一个活动列表,每个活动都注册了一个工作日。

现在我试图显示所有这些事件,但按工作日名称(星期一、星期二、星期三...)排序。

我怎样才能做到这一点?我正在使用 LinqToSQL 和 Lambda 表达式。

谢谢!!

Ros*_*ant 6

public class Event
{
  public string Day; 
}

[Test]
public void Te()
{
  var dayIndex = new List<string> {"MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"};
  var list = new List<Event> {new Event(){Day = "saturday"}, new Event() {Day = "Monday"}, new Event() {Day = "Tuesday"}};
  var sorted = list.OrderBy(e => dayIndex.IndexOf(e.Day.ToUpper()));
  foreach (var e in sorted)
  {
    Console.WriteLine(e.Day);
  }
}
Run Code Online (Sandbox Code Playgroud)