gpt4 book ai didi

c# - LINQ 将一行的列值分隔到 .net 中的不同行

转载 作者:太空狗 更新时间:2023-10-29 21:34:28 24 4
gpt4 key购买 nike

假设我有一个从 oracle 数据库中检索到的数据表,格式如下

SNo.  |      Product                      |  Cost
-------------------------------------------------
1 | colgate,closeup,pepsodent | 50
2 | rin,surf | 100

我需要使用 linq 将其更改为以下格式。需要通过保持其他列相同来借助逗号分隔产品列。

SNo.  |        Product      |   Cost
-------------------------------------
1 | colgate | 50
1 | closeup | 50
1 | pepsodent | 50
2 | rin | 100
2 | surf | 100

最佳答案

请试试这个:

List<Product> uncompressedList = compressedProducts
.SelectMany(singleProduct => singleProduct.ProductName
.Split(',')
.Select(singleProductName => new Product
{
SNo = singleProduct.SNo,
ProductName = singleProductName,
Cost = singleProduct.Cost
}))
.ToList();

编辑:

产品类定义如下:

public class Product
{
public Int32 SNo { get; set; }
public String ProductName { get; set; }
public Int32 Cost { get; set; }
}

compressedProducts 只是第一个示例中的初始产品列表。

关于c# - LINQ 将一行的列值分隔到 .net 中的不同行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16354037/

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