【问题标题】:equivalent of vbCrLf in c#相当于 c# 中的 vbCrLf
【发布时间】:2011-01-24 23:58:36
【问题描述】:

我必须这样做:

AccountList.Split(vbCrLf)

在 c# 中 AccountList 是一个字符串。 我该怎么办?

谢谢

【问题讨论】:

    标签: c# list split language-comparisons


    【解决方案1】:

    您正在寻找System.Environment.NewLine

    在 Windows 上,这等同于 \r\n,尽管在另一个 .NET 实现下它可能会有所不同,例如 Linux 上的 Mono。

    【讨论】:

    • 理论上错误的答案....这可能会在 Linux/Mono 上运行时发生变化....它不是“CRLF”而是“在此计算机类型上定义的行分隔符”。在 Windows 上没有风险......但随后...... ;)
    • 解决方法是:AccountList.Split(System.Environment.NewLine.ToCharArray())
    • 我试过这个:string[] strOptions = txtOptions.Text.Split(System.Environment.NewLine.ToCharArray());,如果有四个选项按回车键,它会返回 7 个实例而不是 4 个。
    • @TomTom 是完全正确的。 'System.Environment.NewLine' 不应该被鼓励作为 vbCrLf 的一个不错的替代品。
    【解决方案2】:

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

     string nl = System.Environment.NewLine;
    

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

    【讨论】:

      【解决方案3】:
      AccountList.Split("\r\n");
      

      【讨论】:

        【解决方案4】:

        向您的项目添加对 Microsoft.VisualBasic 的引用。

        然后插入 using 语句

        using Microsoft.VisualBasic;
        

        使用定义的常量vbCrLf:

        private const string myString = "abc" + Constants.vbCrLf;
        

        【讨论】:

          【解决方案5】:

          我认为 "\r\n" 应该可以正常工作

          【讨论】:

            【解决方案6】:

            【讨论】:

              【解决方案7】:

              试试这个:

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

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

              【讨论】:

                【解决方案8】:

                在 C# 中没有与 vbCrLf 等价的常量。 C# 的 System.Environment.NewLine 相当于 Visual Basic 中的 vbNewLine,它不等同于 vbCrLf,因为值 System.Environment.NewLine 取决于运行 C# 应用程序的操作系统(vbNewLine 也是如此) - 请参阅 @ 987654321@作为参考。

                在 C# 中,您可以使用 "\r\n" 代替 vbCrLf,正如其中一个 cmets 中已经提到的那样。

                【讨论】:

                  【解决方案9】:
                  "FirstLine" + "<br/>" "SecondLine"
                  

                  【讨论】:

                  • 这不等同。
                  • HTML 换行符,仅在 C# 输出到网页时有用。在 C# 输出到控制台或脚本中没有用,例如在消息框中。
                  猜你喜欢
                  • 2012-09-30
                  • 2021-04-07
                  • 1970-01-01
                  • 2012-05-25
                  • 1970-01-01
                  • 1970-01-01
                  • 2014-11-06
                  • 1970-01-01
                  • 2012-09-30
                  相关资源
                  最近更新 更多