代码之家  ›  专栏  ›  技术社区  ›  Neil C. Obremski

将数组转换为简单字符串的C#方法/语法是什么?

  •  4
  • Neil C. Obremski  · 技术社区  · 16 年前

    我正在寻找的是JavaScript的基本等价物 Array::join() 通过这种方式,您可以传入一个分隔符,并在其所有下标的返回字符串中使用该分隔符。我当然可以使用 StringBuilder 或者别的什么,但那里 必须 成为内置的东西。NET BCL。

    EDIT:数组 任何事物 ,不一定 string char .我宁愿这个方法简单地调用 ToString() 在每个下标上 object . String.Join() 它很棒,除了你给它传递一个字符串数组。

    3 回复  |  直到 16 年前
        1
  •  3
  •   Joel Coehoorn    16 年前

    如果数组包含字符串,则可以使用 String.Join() 。如果数组不包含字符串,则需要一些更复杂的东西,以便处理它包含的每个项目的强制转换或转换过程。

    更新: 使用@JaredPar的代码作为更通用示例的基础:

    char sep = GetSeparatorChar();
    object[] toJoin = GetToJoin();
    string joined = toJoin.Aggregate((x,y) => x.ToString()+sep.ToString()+y.ToString());
    

    显然,在这个例子中,你可以对x和y做任何你想做的事情,让字符串看起来像你想要的那样。

        2
  •  1
  •   Community CDub    8 年前

    如果String.Join不适合你——例如,你有一个 IEnumerable<string> 而不是a string[] 或者您有其他类型的集合,请参阅 this earlier question .

        3
  •  0
  •   JaredPar    16 年前

    我不清楚你是否正在加入一个字符或字符串数组。

    对于字符串

    
    char sep = GetSeparatorChar();
    string[] toJoin = GetToJoin();
    string joined = toJoin.Aggregate((x,y) => x+sep.ToString()+y);
    
    推荐文章