在.NET中,Is与Environment.NewLine等价吗?

5

可能是重复问题:
“\n”和Environment.NewLine之间的区别

大家好!

据我理解,当我们在双精度格式字符串中使用.符号时,它并不意味着“点”,而实际上意味着“当前环境中使用的小数分隔符”,因此,如果我们使用非美国文化设置,输出可以是2,00而不是2.00。 这非常方便。

现在,对于特殊符号\n(LF)也是这样吗?在格式字符串被解析时,它会变成System.Environment.NewLine符号,还是无论系统设置如何,它始终是0x0A值? Environment.NewLine有点冗长,我想知道是否可以安全地使用\n代替。

提前致谢。


@jayrdub:是的,我知道,但这正是我要问的 - \n 是指"\n"还是"当前环境中使用的任何换行符号"。 - Dyppl
5个回答

5
这可能是你需要的答案: "\n"和Environment.NewLine的区别。它们都可以用来表示换行符,但"\n"是Unix系统中常见的换行符,而Environment.NewLine则在Windows系统中使用。

谢谢,那里的一个答案部分地回答了我的问题。 - Dyppl

2

1

如果您不喜欢键入System.Environment.NewLine,请将本地变量设置为该值。

string n = System.Environment.NewLine;
string stringWithStuff = "text!" + n + "moretext!";

1
这样做没有任何问题。 - Biff MaGriff
这真的取决于上下文。 - sehe
1
@sehe那个有什么问题吗?你不是在建议用StringBuilder做这个吧? - Oscar Mederos

0

关于Environment.NewLine Property

对于非Unix平台,它包含"\r\n"的字符串;对于Unix平台,它包含"\n"的字符串。

此外:

NewLine属性值是专门为当前平台和.NET Framework实现定制的常量。

NewLine可以与特定语言的换行符支持一起使用,例如在Microsoft C#和C/C++中使用转义字符'\r'和'\n',或在Microsoft Visual Basic中使用vbCrLf。


0

你应该知道文本编写器也有一个 NewLine 属性

例如:

using System;

//  ...
Console.Write("eenie{0}meenie{0}minie{0}moe", Console.NewLine);
Console.Out.Write("eenie{0}meenie{0}minie{0}moe", Console.Out.NewLine);
Console.Error.Write("eenie{0}meenie{0}minie{0}moe", Console.Error.NewLine);

我不确定从脑海中想起来,这是否总是等同于 System.Environment.NewLine。请参考文档


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接