我想列出所有已发布帖子的所有类别。但我想只显示一次类别。该类Post
有一个道具Posts
和道具的构造函数Categories
。它是一个字符串数组而不是 List,我想保持这种状态。
public class Post
{
public static List<Post> Posts = LoadPosts();
}
public Post()
{
ID = Guid.NewGuid().ToString();
Categories = new string[0]; //array, no List<string>
}
这是我的剃刀标记
<ul class="categories">
@{var cl = Post.Posts.Where(p => p.IsPublished).Select(c => new List<string>(c.Categories));}
@foreach (var cat in cl.Distinct())
{
<li>@cat</li>
}
</ul>
这给了我作为输出
System.Collections.Generic.List`1[System.String]
我在我的 Linq 中做错了什么,但我没有足够的经验(或清醒)来看到我的错误。