现有
       string[] _dayOfWeeks = 
       {
           "Monday", "Tuesday", 
           "Wednesday", "Thursday", 
           "Friday", "Saturday", 
           "Sunday"
       };       foreach (string dayOfWeek in dayOfWeeks)
      {
            Console.WriteLine(dayOfWeek);
      }
     即可得到结果:"Monday", "Tuesday",  "Wednesday", "Thursday","Friday", "Saturday", "Sunday"      请问如何由foreach 进行的迭代从“Sunday”开始,而不是从默认的“Monday”开始。      这个foreach的语句该怎么写呢????
  
      急求解答!!!!      谢谢!!!!!

解决方案 »

  1.   

    最简单的就是把你的字符串数组改为string[] _dayOfWeeks = 
          { 
              "Sunday", "Monday", "Tuesday", 
              "Wednesday", "Thursday", 
              "Friday", "Saturday"
          };
      

  2.   


          string[] _dayOfWeeks = 
          { 
              "Sunday","Monday", "Tuesday", 
              "Wednesday", "Thursday", 
              "Friday", "Saturday"
               
          }; 
      

  3.   

     string[] _dayOfWeeks = 
          { 
              "Sunday","Monday", "Tuesday", 
              "Wednesday", "Thursday", 
              "Friday", "Saturday"
               
          }; 或者
    for(int i=dayOfWeeks.length-1;i>-1;i--)
    {
      Console.WriteLine(dayOfWeeks[]i); 
    }
      

  4.   

    for(int i=dayOfWeeks.length-1;i>-1;i--)
    {
      Console.WriteLine(dayOfWeeks[i]); 
    }
      

  5.   

    Foreach (...  in ...)
    {{遍历顺序。执行 For Each... Next循环时,将在 GetEnumerator 方法返回的枚举数对象的控制下遍历集合。遍历的顺序不是由 Visual Basic 确定的,而是由枚举数对象的 MoveNext 方法决定的。这意味着您可能无法预测 element 中首先返回集合中的哪个元素,或者在某个给定的元素后返回的下一个元素是哪个元素。如果代码依赖于以特定顺序遍历集合,则 For Each...Next 循环不是最佳选择,除非您知道该集合公开的枚举数对象的特征。使用其他循环结构(如 For...Next 或 Do...Loop)可能会获得更可靠的结果。
      

  6.   

    "Sunday" 在第一位
    string[] Day = new string[] {
    "Sunday","Monday", "Tuesday",  "Wednesday", "Thursday","Friday", "Saturday"};
    Day[Convert.ToInt16(DateTime.Now.DayOfWeek)];
    或设置枚举,遍历输出
      

  7.   

    其實本來sunday就應該在最前面啊. 要弄復雜的話, lz也可以給每個enum元素賦值, 依照順序從小到大賦值, 循環輸出的時候從小開始, 不過既然可以簡單調整順序的話, 這個就有點多此一舉了, 僅供參考:)
      

  8.   

    using System;
    using System.Collections.Generic;
    using System.Text;namespace ConsoleApplication5
    {
        class Program
        {
            static void Main(string[] args)
            {
                 string[] _dayOfWeeks = 
                { 
                "Monday", "Tuesday", 
                "Wednesday", "Thursday", 
                "Friday", "Saturday", 
                 "Sunday" 
                };
                 Array.Reverse(_dayOfWeeks);
                 foreach (string dayOfWeek in _dayOfWeeks)
                {
                  
                    Console.WriteLine(dayOfWeek);
                }         }
        }
    }
      

  9.   

    数组颠倒可以使用Reverse方法,但这不符合楼主的要求。