title: Looping around in Enumeration in C#
body: <p>Is there some way to automatically loopback when the value of an Enumeration reaches the end while adding or subtracting values.</p>
  
  <p>E.g. When using DateTime.DayOfWeek it is defined as:</p>
  
  <pre><code>public enum DayOfWeek
  {
      Sunday = 0,
      Monday = 1,
      Tuesday = 2,
      Wednesday = 3,
      Thursday = 4,
      Friday = 5,
      Saturday = 6,
  }
  </code></pre>
  
  <p>I have a function where I'm checking if a string array contains yesterday.</p>
  
  <pre><code>DateTime rn = DateTime.Now;
  string[] daysOfWeek = {"Monday", "Tuesday", "Saturday"};
  if (daysOfWeek.Contains((rn.DayOfWeek - 1).ToString()))
      ...
  </code></pre>
  
  <p>If today is Sunday. Is there some way to make the rn.DayOfWeek enumeration to loop back around the beginning to Saturday in this case?
  Similarly if I'm adding instead of subtracting, can one somehow loop around the end from Saturday (6) back to Sunday (0)?</p>