使用JOIN通过时期连接字符串



尝试获取字符串试图做这样的事情

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

我认为应该很简单,但是我只是使用足够的加入,而且有问题。

项目应为" product1"," product2"

并变成" Product1.product2"

循环不是nessesary,您只能从linq

中使用 Selectstring.Join
string.Join(".", items.Select(c => c.Text))

如果您可以使用Linq,则可以执行简单的Select将项目映射到字符串中并加入它们。

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

如果您有字符串列表,并且想通过某些分隔符加入string.join

String.Join(separator,Collection)

这是如何将所有产品与一个段

串联

不确定这是否是您想做的,但这有效

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那样有效,而是一种产生相同输出的替代语法

最新更新