在单元测试中,我想将一行代码硬编码为字符串。

在C#中,我会做

var sb = new StringBuilder();
sb.AppendLine("myline1");
sb.AppendLine("myline2");
sb.AppendLine("myline3");

自从我转换为F#以来,我尝试通过使用bprintf来最小化.Net方法的使用,但是不知何故不支持bprintfn,这对我来说似乎很奇怪。

手动在每行末尾添加\r\n太麻烦了。

还是有比StringBuilder更好的方法?

最佳答案

我认为像您一样在F#中使用StringBuilder没问题。

Printf module中有一个函数fprintfn,因此您可以将其与StringWriter对象一起使用:

let sw = new StringWriter()
fprintfn sw "myline1"
fprintfn sw "myline2"
fprintfn sw "myline3"
sw.ToString()

我喜欢fprintffprintfn,因为它们很灵活。您可以通过提供stdout来写入控制台输出。

关于string - 硬编码多行字符串的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14586404/

10-09 14:41