esistente Ho una lista di tipi anonimi che ricevo dal mio database:Creare un nuovo elenco tipo anonimo all'unione sul tipo di elenco anonimo
var takenChannels = (from b in bq.GetStuff(db)
where b.RecordType == "H" && b.TourStartDateTime.Date == date
select new { Start = b.TourStartDateTime, End = b.TourEndDateTime, Channel = b.RadioChannel, TourArea = b.TourArea }).ToList();
allora io uso questa informazione elenco per fare alcune cose in un foreach ciclo continuo. Voglio aggiungere a questo elenco un nuovo oggetto anonimo per quando torno indietro nel loop.
Qualcosa di simile:
takenChannels.Union{new[] { new{Start = DateTime.Now, End = DateTime.Now.AddDays(1), Channel = 25, TourArea = "Area" }});
Ovviamente questo non funziona. Come lo faccio?
Edit 1:
takenChannels.Add(new { Start = s, End = e, Channel = channel, TourArea = booking.TourArea });
Questo è il più vicino che ho finora (Grazie a Daniel) ... ma l'errore che ottengo è:
errore 6 Argument 1: non può convertire da 'AnonymousType # 2' a 'AnonymousType # 1'
'Ovviamente questo non funziona. No, non è ovvio. Questo genera un errore? E allora? Non sospetterei che non funzioni. Nota che 'Union' non muta la lista, crea una nuova sequenza, quindi dovrai assegnarla a qualcosa per osservare il risultato. – Servy
Mi dispiace, ho avuto problemi con il mio codice. C'è un miscuglio di 2 soluzioni tentate lì. Ho modificato il mio Q. – Smithy
I tipi di proprietà non devono corrispondere correttamente. Forse uno di loro è una stringa in un posto e un int in un altro, o qualcosa del genere. Se assicuri di avere le stesse proprietà con * esattamente * gli stessi nomi e * esattamente * gli stessi tipi, funzionerà perfettamente. – Servy