代码之家  ›  专栏  ›  技术社区  ›  chobo2

在LINQ SELECT语句中将文本组合在一起?

  •  -1
  • chobo2  · 技术社区  · 6 年前

    我有一个这样的班

     public class ItemImage
        {
            public string Name { get; set; }
    
        }
    

    现在我想将URL部分附加到名称中。

    //结果是 http://www.example.com/ {No.}

    我可以选择

    images.Select(x => x.Name )
    

    但我不确定如何一次就加入URL+名称。

    我试过

    images.Select(x => new { fullImagePath= "http://www.example.com/" + x.Name })
    

    但我只想要一个简单的数组(即 http://www.example.com/1.jpg “,” http://www.example.com/2.jpg “”

    2 回复  |  直到 6 年前
        1
  •  1
  •   Kristoffer Jälén    6 年前

    你可以使用 string interpolation :

    images.Select(x => $"http://www.example.com/{x.Name}" )
    

    例子:

    var images = new List<ItemImage> {
       new ItemImage{Name = "1.jpg" },
       new ItemImage{Name = "2.jpg" }
    };
    
    var result = images.Select(x => $"http://www.example.com/{x.Name}");
    
    // result[0] = "http://www.example.com/1.jpg"
    // result[1] = "http://www.example.com/2.jpg"
    
        2
  •  1
  •   Renato Lucas Chitolina    6 年前

    在C版本5之前

    images.Select(x => string.format("http://www.example.com/{0}", x.Name))
    

    C+6+

    images.Select(x => $"http://www.example.com/{x.Name}" )