title: Declaring interface inheritance in C#
body: <p>I am a bit unclear on the syntax of inheritance for interfaces in C#.</p>
  
  <p>For example:</p>
  
  <pre><code>public interface IFoo
  {
  }
  public interface IBar : IFoo
  {
  }
  </code></pre>
  
  <p>What is the difference between this:</p>
  
  <pre><code>public interface IQux : IBar
  {
  }
  </code></pre>
  
  <p>and this:</p>
  
  <pre><code>public interface IQux : IBar, IFoo
  {
  }
  </code></pre>
  
  <p>Or, for a real world example, Why is <code>ICollection&lt;T&gt;</code> declared like this:</p>
  
  <pre><code>public interface ICollection&lt;T&gt; : IEnumerable&lt;T&gt;, IEnumerable
  </code></pre>
  
  <p>instead of this:</p>
  
  <pre><code>public interface ICollection&lt;T&gt; : IEnumerable&lt;T&gt;
  </code></pre>
  
  <p>given that <code>IEnumerable&lt;T&gt;</code> already inherits from <code>IEnumerable</code>?</p>