Csharp/C#教程:Count()列表中的一个specfic属性c#分享


Count()列表中的一个specfic属性c#

if (gardenvlist.Count() == getava.Count()) { } else if(oceanvlist.Count() == getava.Count()) { } else if (cityvlist.Count() == getava.Count()) { } 

gardenvlist是一个日期列表,可用于具有名为garden的特定房间的一段时间。

getava是一个有多个房间名称的日期列表:花园,海洋,城市。

我想在getava选择只有花园(或其他一些特定名称)的getava ,然后与列表进行比较。

我怎样才能做到这一点?

如果我正确理解你的问题,你可以将一个lambda表达式传递给Count() ,根据属性选择性地计算项目,然后将它与你想要的任何东西进行比较。 像这样的东西:

if (gardenvlist.Count()== getava.Count(x => x.Name == "GardenName"))

请注意,您需要添加以下using语句: using System.Linq

Count()另一个重载是将lambda表达式作为参数,您可以在其中过滤要从源集合计数的元素。

假设你有一个像这样的字符串列表:

 var list = new List() { "a", "b", "c", "aa", "bbb" }; 

然后你可以像这样使用它:

 var countSingles = list.Count(str => str.Length == 1); 

这将计算长度为1的列表元素,因此它将返回3

使用带谓词的重载。 这是签名:

 public static int Count(this IEnumerable source, Func predicate); 

成像你有这个:

 public class Room { public string Name { get; set; } } 

然后你把它们放到一个列表中:

 var rooms = new List() { new Room { Name = "Living" }, new Room { Name = "Kitchen" } }; 

您想知道有多少房间的免费精选名字大全是“Living”:

上述就是C#学习教程:Count()列表中的一个specfic属性c#分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 int count = rooms.Count(x => x.Name == "Living"); 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1002902.html

(0)
上一篇 2021年12月27日
下一篇 2021年12月27日

精彩推荐