Я пытаюсь сгруппировать последовательность из Post
s по каждому различный тег в базе данных.Как я могу группировать отдельный список?
public class Post
{
public string Title { get; set; }
public IEnumerable<string> Tags { get; set; }
public static IEnumerable<Post> SeedPosts()
{
yield return new Post { Title = "Foo", Tags = new[] { "Code" } };
yield return new Post { Title = "Foo1", Tags = new[] { "Code", "Productivity" } };
yield return new Post { Title = "Foo2", Tags = new[] { "Miscellaneous" } };
}
}
Я хочу взять результат SeedPosts
и произвести следующий вывод консольного приложения
Code
Foo
Foo1
Productivity
Foo1
Miscellaneous
Foo2
Я полностью тупик, но я сделаю попытку показать вам то, что я пытался до сих пор ,
мне нужно Key
быть типа string
, но когда я делаю это
posts.GroupBy(post => post.Tags);
ключ является тип IEnumerable<string>
. Я понимаю, что я группирую IEnumerable<string>
, поэтому ключ IEnuemrable<string>
, но я вообще вообще застрял.
Возможный дубликат [LINQ: как группировать, так что элемент может быть добавлен ко многим группам] (http://stackoverflow.com/q uestions/28109832/linq-how-to-group-by-so-element-can-be-add-to-many-groups) – ASh
Взгляните на мой вопрос [тот же вопрос] (http://stackoverflow.com/ questions/28109832/linq-how-to-group-by-so-element-can-be-add-to-many-groups), я думаю, что вам нужно то же самое, что и я. –
Я думаю, что лучшим подходом было бы создание копировать элементы с более чем одним тегом и тем самым создавать сплющенный список элементов, каждый из которых имеет только один тег. –