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

C#:字符串[]到分隔字符串。有单行线吗?

  •  24
  • XstreamINsanity  · 技术社区  · 16 年前

    string[] strArray = {"Hi", "how", "are", "you"};
    string strNew = strArray.Delimit(chDelimiter);
    

    但是,没有这样的功能。我查看了MSDN,没有任何函数可以执行相同的操作。我看了看StringBuilder,又一次,我看不出有什么特别之处。有人知道用一个不太复杂的一行代码来把数组变成一个带分隔符的字符串吗。谢谢你们的帮助。

    更新:哇,哈哈,我的错。我一直在看。加入数组本身,它是我的地狱窃听。我连眼睛都没看字符串。连接. 谢谢你们。一旦它允许我接受,我就会接受。感谢你的帮助。

    5 回复  |  直到 16 年前
        1
  •  50
  •   kbrimington    16 年前

    对于阵列,可以使用:

    string.Join(", ", strArray);
    

    public static string Flatten(this IEnumerable elems, string separator)
    {
        if (elems == null)
        {
            return null;
        }
    
        StringBuilder sb = new StringBuilder();
        foreach (object elem in elems)
        {
            if (sb.Length > 0)
            {
                sb.Append(separator);
            }
    
            sb.Append(elem);
        }
    
        return sb.ToString();
    }
    

    strArray.Flatten(", ");
    
        2
  •  6
  •   David Hoerster    16 年前

    你可以用静电 String.Join 方法:

    String strNew = String.Join(chDelimiter, strArray);


    编辑:回应评论 Concat . 举个例子:

    //define my two arrays...
    string[] strArray = { "Hi", "how", "are", "you" };
    string[] strArray2 = { "Hola", "como", "esta", "usted" };
    
    //Concatenate the two arrays together (forming a third array) and then call join on it...
    string strNew = String.Join(",", strArray.Concat(strArray2));
    

    希望这有帮助!

        3
  •  5
  •   Incognito    16 年前

    看一看 String.Join()

    您的样品必须如下所示:

            string delimiter = ","
            string[] strArray = { "Hi", "how", "are", "you" };
            string strNew = String.Join(delimiter, strArray);
    
        4
  •  4
  •   Joseph Yaduvanshi    16 年前

    使用 String.Join

    string[] strArray = {"Hi", "how", "are", "you"};
    string strNew = String.Join("," strArray);
    
        5
  •  1
  •   theburningmonk    16 年前

    var comSeparatedStrings = strings.Aggregate((acc, item) => acc + ", " + item);