2016-12-03 50 views
0

试图得到一个字符串 试图做这样的事情使用加入由周期

string product; 
foreach (Cart item in items) 
{ 
    // join item.text by periods and assign it to product variable 
} 

应该是简单的,我认为为字符串连接,但我根本就没有使用足够的加盟,我有问题。

项目应该是 “产品1”, “产品2”

,变成 “product1.product2”

回答

2

的循环没有你所必要的只可以使用Selectstring.Join从LINQ

string.Join(".", items.Select(c => c.Text)) 
+0

谢谢工作很好 – TheMangaStand

1

如果你可以使用LINQ,你可以做一个简单的Select来将项目映射为字符串并加入它们。

String.Join(".", items.Select(i => i.text)) 
0

,如果你有一个字符串列表,并希望通过一些分离使用的string.join

String.Join(separator,Collection) 
0

这里是如何连接所有的产品用了一段

不知道这加盟是你想要做的,但这个作品

using System; 
using System.Collections.Generic; 
using System.Linq; 

class MainClass { 
    public static void Main (string[] args) { 
    var items = new List<CartItem>(); 
    items.Add(new CartItem("product1")); 
    items.Add(new CartItem("product2")); 
    items.Add(new CartItem("product3")); 

    var product = items.Select(_ => _.Text).Aggregate((p1, p2) => p1+"."+p2); 

    Console.WriteLine(product); 
    } 
} 

class CartItem { 
    internal CartItem(string text) { 
    Text = text; 
    } 
    public string Text {get;} 
} 

编辑:注意这不像String.Join效率,但一个n生成相同输出的替代语法