C#LINQ-将行分为两行

薄荷

对不起,可能是愚蠢的问题,但是我有这样的Ienumerable<>设置

数据集

我需要将名称和百分比分成单独的行,并为这些行复制ProductId和RowIndex(我知道这样做效率不高,但需要这样做)。并且可能是一个新字段,用于指定组合行具有的数据。

例如

ProductId, Name , Percent, RowIndex 2301283 , PLACEHOLDER, 12.20 , 1

应该变成这样:

ProductId, DataType, Value , RowIndex 2301283 , Name , PLACEHOLDER, 1 2301283 , Percent , 12.20 , 1 etc etc

而且,如果有道理,它们也不能嵌套在其他列表或可枚举的对象中。

在LINQ中有可能吗?

清扫器

从我所看到的,您想将每个GI对象转换为2个新对象,并将所有这些对拼合为一个可枚举的对象。希望我能正确理解你。

我认为SelectMany可以胜任。

yourEnumerable.SelectMany(x => new[] {
    new { ProductId = x.ProductId, DataType = "Name", Value = x.Name, RowIndex = x.RowIndex },
    new { ProductId = x.ProductId, DataType = "Percent", Value = x.Percent, RowIndex = x.RowIndex }
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章