Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Count()列表c中的特定属性_C# - Fatal编程技术网

C# Count()列表c中的特定属性

C# Count()列表c中的特定属性,c#,C#,gardenvlist是一个日期列表,在一个特定的房间名为garden的时段内可用 getava是一个具有多个房间名的时段可用的日期列表:花园、海洋、城市 我想在getava中选择only garden的计数或其他特定名称,然后与列表进行比较 我该怎么做呢?如果我正确理解您的问题,您可以传入lambda表达式进行计数,根据属性有选择地对项目进行计数,然后将其与您想要的进行比较。大概是这样的: if (gardenvlist.Count() == getava.Count()) { } else

gardenvlist是一个日期列表,在一个特定的房间名为garden的时段内可用

getava是一个具有多个房间名的时段可用的日期列表:花园、海洋、城市

我想在getava中选择only garden的计数或其他特定名称,然后与列表进行比较


我该怎么做呢?

如果我正确理解您的问题,您可以传入lambda表达式进行计数,根据属性有选择地对项目进行计数,然后将其与您想要的进行比较。大概是这样的:

if (gardenvlist.Count() == getava.Count())
{

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

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

}
var list = new List<string>() {
   "a",
   "b",
   "c",
   "aa",
   "bbb"
};
如果gardenvlist.Count==getava.Countx=>x.Name==GardenName

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

如果我正确理解您的问题,您可以传入lambda表达式进行计数,以根据属性选择性地对项目进行计数,然后将其与您想要的任何内容进行比较。大概是这样的:

if (gardenvlist.Count() == getava.Count())
{

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

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

}
var list = new List<string>() {
   "a",
   "b",
   "c",
   "aa",
   "bbb"
};
如果gardenvlist.Count==getava.Countx=>x.Name==GardenName

注意:您需要添加以下using语句:
使用System.Linq,还有另一个Count重载,它将lambda表达式作为参数,您可以从源集合中筛选要计数的元素

假设您有如下字符串列表:

if (gardenvlist.Count() == getava.Count())
{

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

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

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

这将对长度为1的列表中的元素进行计数,因此在这里它将返回3。

还有另一个计数重载,它将lambda表达式作为参数,您可以从源集合中筛选要计数的元素

假设您有如下字符串列表:

if (gardenvlist.Count() == getava.Count())
{

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

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

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

这将对长度为1的列表元素进行计数,因此在这里它将返回3。

使用带谓词的重载。签名如下:

var countSingles = list.Count(str => str.Length == 1);
然后将它们放入列表中:

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

使用接受谓词的重载。签名如下:

var countSingles = list.Count(str => str.Length == 1);
然后将它们放入列表中:

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

也许英语不是你的第一语言,你能编辑你的问题吗?因为我现在不理解你的问题。与其描述列表代表什么,不如向我们展示创建它们的代码,或者至少是每个列表的类型。你能给我们多一点代码吗?如果我们知道你的列表的基本类型,我们会更容易提供帮助如果你能提供一个样本输入和基于这些样本输入的预期结果,那就太棒了。也许英语不是你的第一语言,请编辑您的问题,因为我现在不理解您的问题。请向我们展示创建列表的代码,或者至少是每个列表的类型,而不是描述列表所代表的内容。您能再给我们一些代码吗?如果我们知道你的列表的基本类型,那么帮助就会容易得多。如果你能提供一个基于这些样本输入的样本输入和预期结果,那就太棒了。