LINQ "Where" condition -> change value of property
<p>I have a list of meetings, inside which I have another list of attendees.</p>

<p>The model is similar to this:</p>

<pre><code>public class Meeting
{
    public string Id { get; set; }
    public string Title { get; set; }
    public List&lt;User&gt; Users { get; set; }
    public DateTime StartTime { get; set; }
    public DateTime EndTime { get; set; }
}
</code></pre>

<p>I have list of <code>Meetings</code>: <code>List&lt;Meeting&gt; meetings = GetMeetings();</code></p>

<p>Now I want to mask the <code>Title</code> of the meetings where one of the users is <code>bot@domain.com</code>. I can achieve this in multiple LINQ queries but I am looking for one optimized LINQ query.</p>

<p>Here's what I tried:</p>

<pre><code>var maskedMeetings = meetings.Where(x = x.Users.Any(a =&gt; a.Email.Equals("bot@domain.com"))); 
meetings = appointments.Except(maskedMeetings).ToList();
maskedMeetings = maskedMeetings.Select(x =&gt; { x.Title = "Bot"; return x; }).ToList();
meetings = meetings.Concat(maskedMeetings).ToList();
</code></pre>

<p>Can anyone help me find an optimized way of writing this query?</p>