title: Can I use LINQ to create a new list of objects from an existing list
body: <p>I have a list of invoices that have both start and end dates. Can I use LINQ to get all the start and end dates from the invoice list and put them into a new list of type <code>Period</code>:</p>
  
  <pre><code>Period(DateTime startDate, DateTime endDate) {};
  </code></pre>
  
  <p>I can do this with a <code>foreach</code> as shown below but wanted to know if there was a better way to do this with LINQ.</p>
  
  <pre><code>foreach(Invoice invoice in invoices)
  {
      periods.Add(new Period(invoice.StartDate, invoice.EndDate));
  }
  </code></pre>