逗号分隔值为List

时间:2017-05-23 12:53:53

标签: asp.net

我有一个类似的列表,

班级交易{
public sting TrackID {get; set}
public sting AlertID {get; set} //逗号分隔值
}

           TrackID   AlertID
           1001       101
           1001       102
           1001       103
           1002       201
           1002       202
           1002       203
           1003       301
           1003       302
           1003       303

具有逗号分隔值的AlertID,使用Linq转移到喜欢这个

{{1}}

例如:
 Turning a Comma Separated string into individual rows - 这是从SQL完成的,与LinQ中需要的方法相同

我希望了解我的问题

1 个答案:

答案 0 :(得分:1)

如果你的对象是这样的:

class Traking 
{
    public string TrackID {get;set;}
    public string AlertID {get;set;} // Comma separated Values
}

您的列表如下所示:

var ls=new List<Traking>
    {
        new Traking(){TrackID = "1001",AlertID = "101,102,103"},
        new Traking(){TrackID = "1002",AlertID = "201,202,203"},
        new Traking(){TrackID = "1003",AlertID = "301,302,303"},
    };

然后你可以这样做:

var result= ls.SelectMany (l => l.AlertID.Split(',').Select (s =>new Traking()
    {
        TrackID=l.TrackID,
        AlertID=s
    } )).ToList()

获得此输出:

TrackID    AlertID
1001       101 
1001       102 
1001       103 
1002       201 
1002       202 
1002       203 
1003       301 
1003       302 
1003       303