众所周知,String是不可变的.String不可变的原因是什么,StringBuilder类的引入是可变的?
我有一个名为blogCategoriesList(其类型为字符串)的列表,其中填充了每个博客类别的值,因为它通过检查类别下拉属性中定义的值来遍历每个页面.因此,如果我在我的网站上有三篇博客帖子,并且类别被定义为足球,飞镖,飞镖那么这就是列表所包含的内容.
我试图做一个if检查验证是否
例子
blogCategoriesList =足球,飞镖,飞镖
如果我在一个将类别设置为飞镖的页面上,那么if测试应该通过,因为列表包含飞镖,并且它在列表中也有多个用于飞镖的条目.
blogCategoriesList =足球,计算机,飞镖
如果我在一个将类别设置为飞镖的页面上,则if测试将失败,因为列表包含飞镖,但它在列表中没有多个用于飞镖的条目.
我一直在尝试使用以下使用groupby的代码,但目前正在努力使其工作.
@if (blogCategoriesList.Contains(Model.Content.GetPropertyValue("category")) && blogCategoriesList.GroupBy(n => n.Equals(Model.Content.GetPropertyValue("category"))).Any(c => c.Count() > 1))
Run Code Online (Sandbox Code Playgroud)
任何帮助都会很棒
非常感谢
保罗
编辑*所以使用下面的建议我已经更新了我的代码
@if (blogCategoriesList.Contains(@Model.Content.GetPropertyValue("category")) && blogCategoriesList.Where(x => x == @Model.Content.GetPropertyValue("category")).Count() > 1)
@if (blogCategoriesList.Contains(@Model.Content.GetPropertyValue("category")) && blogCategoriesList.Where(x => x == @Model.Content.GetPropertyValue("category")).Skip(1).Any())
Run Code Online (Sandbox Code Playgroud)
但现在我的测试总是失败并且没有意义.当前页面属于类别计算.您可以从我的调试中看到类别列表中有多个计算值