【发布时间】:2017-08-07 19:44:29
【问题描述】:
var EXPEarners =
from victor in ins.BattleParticipants
where victor.GetComponent<TotalEXP>() != null
select victor;
foreach (GameObject victor in EXPEarners)
{
victor.GetComponent<TotalEXP>().value += EXPGain;
}
我是 LINQ 的新手,我需要一些帮助。有没有办法将这两个代码块组合起来,这样我就不必调用GetComponent() 两次? (我正在使用 Unity。)也许引入一个临时变量并改用 foreach 循环?但使用 LINQ 的全部目的是避免 foreach。
另外,有没有办法在 LINQ 语句之间注入方法,比如在我选择最终结果之前调用一个 void 方法,以防我想在“中间”做一些事情?
【问题讨论】: