- 问题
我想将 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 表达式中执行相同的操作?
最佳答案
它必须是 IEnumerable<T>
为了访问 LINQ 表达式。
从 IEnumerable
转换的一种方法至 IEnumerable<T>
就是用OfType<T>
或 Cast<T>
扩展方法(如果你知道类型)。
例如
List<Transform> transforms = transform.Cast<Transform>().ToList();
关于c# - 将 foreach 循环转换为 linq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35153733/