在单元测试中,我想将一行代码硬编码为字符串。
在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()
我喜欢
fprintf
和fprintfn
,因为它们很灵活。您可以通过提供stdout
来写入控制台输出。关于string - 硬编码多行字符串的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14586404/