gpt4 book ai didi

c# - 带委托(delegate)的 Linq 查询不更新变量

转载 作者:太空宇宙 更新时间:2023-11-03 21:07:03 24 4
gpt4 key购买 nike

关于下面代码的简短问题。为什么总是显示0?

List<string> strList = new List<string>() { "Yes", "No", "Yes", "No", "Yes", "Yes"};
int hitCount = 0;
strList.Select(i =>
{
if(i.Equals("Yes"))
{
hitCount++;
}
return i;
});
Console.WriteLine(hitCount); // always returns 0.
Console.Read();

最佳答案

基本上在你的情况下查询没有运行,它只是一个简单的 Selectretrun,要么你必须添加 ToList() 在查询结束以实际运行查询,或者您可以执行其他操作以运行具有值 Yes 的项目。在这种情况下,使用 Count 会快得多。

int hitcount = strList.Count(p => p == "Yes");

或者可以使用 Where 子句和 Count

hitcount = strList.Where(p => p == "Yes").Count();

关于c# - 带委托(delegate)的 Linq 查询不更新变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40577956/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com