Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 按linq复制行_C#_Linq - Fatal编程技术网

C# 按linq复制行

C# 按linq复制行,c#,linq,C#,Linq,能否帮助将下面出现的for语句复制到linq表达式中 List<RawData> rawList = [{ "address":"adr1","id":[11,12,13],"city":"NYC"},{"address":"adr2","id":[22,23],"city":"Boston"}, {"address":"adr3","id":[77],"city":"Chicago"}]; List<Data> list = new List<Data>(

能否帮助将下面出现的for语句复制到linq表达式中

List<RawData> rawList = [{ "address":"adr1","id":[11,12,13],"city":"NYC"},{"address":"adr2","id":[22,23],"city":"Boston"}, {"address":"adr3","id":[77],"city":"Chicago"}];

List<Data> list = new List<Data>();
foreach (var item in rawList)
{
    foreach (var id in item.idList)
    {
        Data d = new Data
        {
            id = id,
            address = item.address,
            city = item.city
        };
        list.Add(d);
    }
}

LINQ中的展平通过以下方法完成:


一旦您了解了它的作用,剩下的就不言自明了。

LINQ中的平坦化是通过以下方法完成的:

一旦你了解了它的作用,剩下的就不言自明了

var res = rawList
    .SelectMany(item => item.idList
        .Select(id => new Data {
            id = id,
            address = item.address,
            city = item.city
        })
    ).ToList();