title: Operator '||' cannot be applied to operands of type 'lambda expression' and 'lambda expression'
body: <p>How do i construct a LINQ <code>WHERE</code> clause that contains <code>OR</code>?</p>
  
  <hr>
  
  <p>i have a list of objects, and i want to return those that match a search criteria. </p>
  
  <p>The contained objects have many properties, and as long as <em>any</em> match the criteria, i want to return it:</p>
  
  <pre><code>IEnumerable&lt;Item&gt; list;
  String keyword; 
  ...
  
  var results = list.Where(
        (item =&gt; item.Name.Contains(keyword, StringComparison.CurrentCultureIgnoreCase))
        ||
        (item =&gt; item.Description.Contains(keyword, StringComparison.CurrentCultureIgnoreCase))
        ||
        (item =&gt; item.Description.Contains(keyword, StringComparison.CurrentCultureIgnoreCase))
        ||
        (item =&gt; item.ItemType.Contains(keyword, StringComparison.CurrentCultureIgnoreCase))
        ||
        (item =&gt; item.ItemID.ToString().StartsWith(keyword, StringComparison.CurrentCultureIgnoreCase))
        ||
        (items =&gt; items.Value.ToString().StartsWith(keyword, StringComparison.CurrentCultureIgnoreCase))
  );
  </code></pre>
  
  <p>But that fails to compile: </p>
  
  <blockquote>
    <p>Operator '||' cannot be applied to operands of type 'lambda expression' and 'lambda expression'</p>
  </blockquote>
  
  <p>How do i construct a LINQ <code>WHERE</code> clause that contains <code>OR</code>?</p>
  
  <h2>See also</h2>
  
  <ul>
  <li><a href="https://stackoverflow.com/questions/5954965/linq-where-or-filter-c-sharp">LINQ where or filter c#</a></li>
  </ul>