F#字符串构建

时间:2008-12-01 22:24:05

标签: string f#

我想在F#

中执行此C#代码
  string[] a = new string[5];
    string b = string.Empty;
    a[0] = "Line 1";
    a[2] = "Line 2";

    foreach (string c in a)
    {
        b = c + Environment.NewLine;
    }

3 个答案:

答案 0 :(得分:14)

使用内置的String.Join方法比基于重复的字符串连接滚动自己的函数要好得多。这是F#中的代码:

open System
let a = [| "Line 1"; null; "Line 2"; null; null;|] 
let b = String.Join(Environment.NewLine, a)

答案 1 :(得分:2)

'^'运算符连接两个字符串。此外,'+'被重载,因此它可以在字符串上工作。但是使用StringBuilder或Join是一个更好的策略。

答案 2 :(得分:2)

您可以使用concat模块中的F#System函数,如下所示:

let a = [| "Line 1"; null; "Line 2"; null; null;|] 
let b = String.concat System.Environment.NewLine a

(您不应导入System命名空间以避免F#的String module和.NET String class之间的名称冲突