【发布时间】:2016-02-02 12:37:38
【问题描述】:
- 问题
我想将 foreach 循环转换为 linq 语句。
- 细节
我有以下统一类(来自元数据,删除了大部分功能)
public class Transform : Component, IEnumerable
{
public IEnumerator GetEnumerator();
}
我自己的类中有这个类的一个局部变量(继承),就是
Transform transform;
我可以做到这一点
List<Transform> children = new List<Transform>();
foreach (Transform t in transform)
children.Add(t);
如何在 Linq 表达式中做同样的事情?
【问题讨论】:
-
如果您希望我们理解您的问题,请避免使用
var。 -
children = transform.Cast<Transform>().ToList();适合你吗? -
我认为
var读起来更好。 -
@HimBromBeere 他指的是 OP
-
Linq 很好地使代码简单易读,Unity 也建议尽可能避免它并使用您自己的代码。 "– “Linq” — 检查创建和丢弃 Linq 查询所浪费的时间;考虑用手动优化的方法替换热点。"