C# 任意(LINQ)中的语句lambda
我的代码有点问题,也许我是瞎子,但我看不出有什么问题C# 任意(LINQ)中的语句lambda,c#,linq,unity3d,lambda,any,C#,Linq,Unity3d,Lambda,Any,我的代码有点问题,也许我是瞎子,但我看不出有什么问题 prefabPool.Any( bullet => { if(bullet.activeSelf == false) { bullet.SetA
prefabPool.Any( bullet =>
{
if(bullet.activeSelf == false)
{
bullet.SetActive(true);
return true;
}
return false;
};
);
这是我的lambda语句,编译器在第9行给了我一个错误
)应为[Assembly CSharp]CSharp(CS1026)
实际上我不知道问题出在哪里,因为我的语法似乎很好这一点:
}; // This is still a parameter inside the .Any( )
);
只需要最后一个分号:
});
.Any()
一旦找到一个匹配项就会停止。IMHO将.Any()
与具有副作用的lambda一起使用会降低代码的可读性
在你的情况下,我将用
prefablepool.FirstOrDefault(b=>!b.activeSelf)?.SetActive(true);
我把语法搞乱了。。。我认为规则是:(输入参数)=>{};结尾用分号。谢谢您!!!我现在明白了,谢谢你的建议!它比我的可读性强