Dato questa classe:Lista Splitting <T> sulla base di una virgola il valore della proprietà separata utilizzando Linq
public class Article
{
public string Name { get; set; }
public string Colour { get; set; }
}
Supponiamo che io ho il seguente List<Article>
in cui alcuni degli articoli contengono una virgola nome separato:
var list = new List<Article>
{
new Article { Name = "Article1, Article2, Article3", Colour = "Red" },
new Article { Name = "Article4, Article5, Article6", Colour = "Blue" },
}
Is c'è un modo, in una dichiarazione Linq
, di ottenere una lista in cui ogni nome separato da virgola diventa un articolo separato?
var list = new List<Article>
{
new Article { Name = "Article1", Colour = "Red" },
new Article { Name = "Article2", Colour = "Red" },
new Article { Name = "Article3", Colour = "Red" },
new Article { Name = "Article4", Colour = "Blue" },
new Article { Name = "Article5", Colour = "Blue" },
new Article { Name = "Article6", Colour = "Blue" },
}
Brillante, grazie. Mi sono avvicinato molto a qualcosa di molto simile a questo, ma speravo che ci fosse un modo per salvarmi dal creare un oggetto dato che la mia classe è un DTO e, come puoi immaginare, ha un bel po 'più di due proprietà;) –
@SergiPapaseit Questa è una buona osservazione. Sebbene non sia possibile evitare del tutto "nuovo", è possibile ristrutturare il codice per una migliore manutenibilità. – dasblinkenlight
Approccio pulito. Ti inviterò di nuovo se potessi;) Quello che ho finalmente fatto è piegare il bit di trasformazione di linq all'interno di un metodo di estensione. –