相关疑难解决方法(0)

为什么.NET String是不可变的?

众所周知,String是不可变的.String不可变的原因是什么,StringBuilder类的引入是可变的?

.net c# string immutability

182
推荐指数
8
解决办法
10万
查看次数

检查列表是否包含多个指定值

我有一个名为blogCategoriesList(其类型为字符串)的列表,其中填充了每个博客类别的值,因为它通过检查类别下拉属性中定义的值来遍历每个页面.因此,如果我在我的网站上有三篇博客帖子,并且类别被定义为足球,飞镖,飞镖那么这就是列表所包含的内容.

我试图做一个if检查验证是否

  • 该列表包含与currentpage属于同一类别的值
  • 该列表包含多个与当前页面的类别相同的条目

例子

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)

但现在我的测试总是失败并且没有意义.当前页面属于类别计算.您可以从我的调试中看到类别列表中有多个计算值

在此输入图像描述

c# linq asp.net-mvc umbraco razor

0
推荐指数
1
解决办法
3557
查看次数

标签 统计

c# ×2

.net ×1

asp.net-mvc ×1

immutability ×1

linq ×1

razor ×1

string ×1

umbraco ×1