You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检查Slime类实例列表中所有hasHit布尔值是否为true?

检查List中所有实例的hasHit是否全为true

使用Enumerable.All(最简洁的方式)

Enumerable.All并非只能用于布尔类型的集合,它的核心是接收一段判断逻辑,对集合里的每个元素执行该逻辑,只有当所有元素都满足逻辑时才返回true。针对你的场景,只需要通过lambda表达式取出每个Slime的hasHit属性即可:

// 记得先引用Linq命名空间
using System.Linq;

bool allSlimesHit = slime.All(slimeInstance => slimeInstance.hasHit);

这里的slimeInstance是对列表中每个Slime实例的指代,也可以简化成s,写法更短:slime.All(s => s.hasHit)。只要有任意一个Slime的hasHit为false,这个方法就会立刻返回false,不会继续遍历剩余元素,效率和手动循环一致。

手动循环实现(foreach/for)

如果你更习惯用循环,这两种写法也能达到目的:

foreach版本

bool allSlimesHit = true;
foreach (var s in slime)
{
    if (!s.hasHit)
    {
        allSlimesHit = false;
        break; // 找到不符合的就终止循环,避免多余遍历
    }
}

for版本

bool allSlimesHit = true;
for (int i = 0; i < slime.Count; i++)
{
    if (!slime[i].hasHit)
    {
        allSlimesHit = false;
        break;
    }
}

内容的提问来源于stack exchange,提问作者JMAS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 08:27:32