C# c语言中vbCrLf的等价性#

C# c语言中vbCrLf的等价性#,c#,list,split,language-comparisons,C#,List,Split,Language Comparisons,我要做的是: AccountList.Split(vbCrLf) 在c#中,AccountList是一个字符串。 我该怎么办 谢谢你要找的人 在Windows上,这相当于\r\n,但在另一个.NET实现下可能会有所不同,例如Linux上的Mono AccountList.Split("\r\n"); 我认为“\r\n”应该可以很好地工作我通常会缩写,以便在代码中使用多个位置。在顶部附近,执行以下操作: string nl = System.Environment.NewLine; 然后,

我要做的是:

AccountList.Split(vbCrLf)
在c#中,AccountList是一个字符串。 我该怎么办

谢谢你要找的人

在Windows上,这相当于
\r\n
,但在另一个.NET实现下可能会有所不同,例如Linux上的Mono

AccountList.Split("\r\n");

我认为“\r\n”应该可以很好地工作

我通常会缩写,以便在代码中使用多个位置。在顶部附近,执行以下操作:

 string nl = System.Environment.NewLine;

然后,在构造字符串时,我可以使用“nl”而不是所有地方的完整限定。

在项目中添加对Microsoft.VisualBasic的引用

然后插入using语句

using Microsoft.VisualBasic;
使用定义的常量vbCrLf:

private const string myString = "abc" + Constants.vbCrLf;
“第一行”+“第二行”
试试这个:

AccountList.Split(new String[]{"\r\n"},System.StringSplitOptions.None);


理论上是个糟糕的答案。。。。在Linux/Mono上运行时,这可能会发生变化。。。。它不是“CRLF”,而是“此计算机类型上定义的行分隔符”。在Windows上没有风险。。。。但后来……;)解决方案是:AccountList.Split(System.Environment.NewLine.ToCharArray())我尝试了以下方法:
string[]strOptions=txtOptions.Text.Split(System.Environment.NewLine.ToCharArray())
如果在每个选项后按enter键有四个选项,则返回7个实例,而不是4个。@TomTom完全正确不应鼓励System.Environment.NewLine作为vbCrLf的合适替代品。这不是等效的.HTML NewLine,仅在C#输出到网页时才有用。在C#输出到控制台或脚本(如messagebox)中不有用。
AccountList.Split(new String[]{"\r\n"},System.StringSplitOptions.None);
AccountList.Split(new String[]{"\r\n"},System.StringSplitOptions.RemoveEmptyEntries);