title: Excel Interop difference between [], get_Item() and Item[]
body: <p>What´s the difference between those 3 ways:</p>
  
  <pre><code>Application xlApp = new Application();
  Workbooks xlWorkbooks = xlApp.Workbooks;
  Workbook xlWorkbook = xlWorkbooks.Open(filePath);
  Sheets xlSheets = xlWorkbooks.Sheets;
  
  // 1. Way
  Worksheet xlSheet = xlSheets["SheetName"] as Worksheet;
  
  // 2. Way
  Worksheet xlSheet = xlSheets.Item["SheetName"] as Worksheet;
  
  // 3. Way
  Worksheet xlSheet = xlSheets.get_Item("SheetName") as Worksheet;
  </code></pre>
  
  <p>The 1. Way is described as</p>
  
  <blockquote>
    <p>Indexer object Microsoft.Office.Interop.Excel.Sheets.this  <br/>
    Reserved for internal use.</p>
  </blockquote>
  
  <p>The 2. Way:</p>
  
  <blockquote>
    <p>Indexed property object Microsoft.Office.Interop.Excel.Sheets.Item 
    <br/> Returns a single object from a collection.</p>
  </blockquote>
  
  <p>And the 3. Way:</p>
  
  <blockquote>
    <p>[object Index]:object</p>
  </blockquote>
  
  <p>(for this way, ReSharper recommends to use the 2. way.)</p>
  
  <p>So, all 3 ways do exactly the same, but which one is the recommended and what are the differences?
  I think all COMObject Collections have these 3 possibilities.</p>