gpt4 book ai didi

c# - Linq:将 IEnumerable 转换为 IEnumerable

转载 作者:行者123 更新时间:2023-11-30 13:34:08 25 4
gpt4 key购买 nike

我有一个 IEnumerable<Point> 我想将其转换为 IEnumerable<float> .

我可以在单个 Linq 语句中执行此操作吗?

IEnumerable<float> ConvertToPoints(IEnumerable<Point> points)
{
List<float> floats = new List<float>();
foreach(var point in points)
{
floats.Add(point.X);
floats.Add(point.Y);
}
return floats;
}

最佳答案

是的,您可以使用 SelectMany :

return points.SelectMany(point => new float[] { point.X, point.Y });

另一种不需要 LINQ 的方法是使用迭代器 block :

IEnumerable<float> getPoints(IEnumerable<Point> points)
{
foreach (Point point in points)
{
yield return point.X;
yield return point.Y;
}
}

关于c# - Linq:将 IEnumerable<Point> 转换为 IEnumerable<float>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4054403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com