我有一组要转换的项目(基本上,包含在元数据中)。对于集合中的第一个项目,我只需将必要的元数据包装在项目周围,就完成了。第二项的元数据依赖于前一项的元数据,所以我想将第一项的元数据传递给第二项。
以下....
object[] A;
A.skip(1)
.Zip( A, (first, second), a => new Metadata( first, second ) );
...将不起作用,因为它object
用作第二个输入而不是Metadata
. 到目前为止我见过的所有其他解决方案都是如此(传递原始对象,而不是Select()
函数的结果)。
我如何将Select()
LINQ 查询中第一项的结果Select()
输入第二项的结果?
我知道我可以使用for
循环来完成此操作,但我想知道是否没有更实用的方法来处理此类问题。F# 等函数式语言必须有一个解决方案,我想知道是否可以将其转换为 C# 中的 LINQ 解决方案。单线解决方案将特别棒。
通过像这样将元数据链接在一起,我可以将重要信息从一个项目传递到以下所有项目,例如标志或上下文。归根结底,我们的目标不仅仅是了解前一个项目,而是了解当前项目的整个上下文。然后,当前项目可以更改所有后续项目的上下文等。