Ho un elenco di riunioni all'interno del quale ho un altro elenco di partecipanti.LINQ Condizione "Dove" -> modifica del valore della proprietà
modello simile a questo -
public class Meeting
{
public string Id { get; set; }
public string Title { get; set; }
public List<User> Users { get; set; }
public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }
}
ho elenco di Meeting
List<Meeting> meetings = GetMeetings();
Ora voglio mascherare il Title
degli incontri in cui uno degli utenti è [email protected]
. Posso ottenere questo risultato in più query LINQ ma sto cercando query LINQ ottimizzata.
Qualcuno può aiutarmi con questo?
Quello che ho cercato -
var maskedMeetings = meetings.Where(x = x.Users.Any(a => a.Email.Equals("[email protected]")));
meetings = appointments.Except(maskedMeetings).ToList();
maskedMeetings = maskedMeetings.Select(x => { x.Title = "Bot"; return x; }).ToList();
meetings = meetings.Concat(maskedMeetings).ToList();
qualcuno mi può aiutare con il modo ottimizzato di scrivere questa ricerca?
Rahul.
Qual è il sub-ottimale di ciò che hai? – CodingGorilla
Definire "ottimizzato". La modifica di quattro linee chiare e concise di codice funzionante su una lunga catena non è "ottimizzata" secondo me. –
Beh, sono d'accordo, @DStanley Non ho abbastanza familiarità con le ottimizzazioni delle prestazioni per LINQ quindi ho posto la domanda :-) –