作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
要使以下 (nunit) 测试通过,“MagicFunction”的实现是什么样的?
public MagicFunction_Should_Prepend_Given_String_To_Each_Line()
{
var str = @"line1
line2
line3";
var result = MagicFunction(str, "-- ");
var expected = @"-- line1
-- line2
-- line3";
Assert.AreEqual(expected, result);
}
最佳答案
string MagicFunction(string str, string prepend)
{
str = str.Replace("\n", "\n" + prepend);
str = prepend + str;
return str;
}
编辑:
正如其他人指出的那样,换行符因环境而异。如果您只打算对在同一环境中创建的文件使用此功能,那么 System.Environment 将正常工作。但是,如果您在 Linux 机器上创建一个文件,然后将其传输到 Windows 机器,您将需要指定不同类型的换行符。由于 Linux 使用\n 而 Windows 使用\r\n 这段代码将适用于 Windows 和 Linux 文件。如果您将 Mac 加入其中 (\r),您将不得不想出一些更复杂的东西。
关于C#:如何将文本添加到字符串中的每一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1466866/
我是一名优秀的程序员,十分优秀!