数组 是[0,1,2,3,4,5,6]
如果今天是礼拜2
我想排成[2,3,4,5,6,0,1]c#

解决方案 »

  1.   


    void Main()
    {
    int[] ary=new int[]{0,1,2,3,4,5,6};
    int current=(int)DateTime.Today.DayOfWeek;
    ary=ary.OrderBy(x=>x>=current?x:x+7).ToArray();

    }
      

  2.   


    Queue<int> week = new Queue<int>();
                for (int i = 0; i < 7; i++)
                {
                    week.Enqueue(i);
                }            while (week.Peek() != 2)
                {
                    week.Enqueue(week.Dequeue());
                }
      

  3.   


    current 是代表今天是星期几。
    当x< currnet的时候,就用 x+7来代表这个数字的排序。
    当x>=current的时候,就用 x本身来排序。比如: 今天是星期一, current =1 
    那第 x=0的时候, 就用 0+7 = 7 来表示  0 的排序。
    x =1 的时候,就用 1 表示 1 的排序
    x =2 的时候,就用 2 表示 2 的排序。

    最后的排序结果就是 1 ,2 ,3 , 4, 5, 6, 0
    不知道这样说了后,你清楚了没有。
      

  4.   


    int[] ary = new int[] { 0, 1, 2, 3, 4, 5, 6 };
    ary = ary.Select(a => (int)DateTime.Now.AddDays(a).DayOfWeek).ToArray();