我有一个类似的列表,
班级交易{
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中需要的方法相同
我希望了解我的问题
答案 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