如何简化Environment.NewLine()?

时间:2017-11-15 20:57:33

标签: c# console-application

Hey StackOverflow用户,

我在C#中使用discord bot。为了保持我的代码干净,我想使用一个为字符串添加更多行的函数。

我想避免的一个例子是:

Description = $"Hey { username }! {Environment.NewLine + Environment.NewLine}{funMsg[randomNumber]}",

我试图做的是:

public string inertlines(int i)
    {
        string st = "";
        for (int c = 0; c < i; c++)
        {
            st += Environment.NewLine();
        }
        return st;
    }

visual studio编译器提供有关NewLine语句的错误。 &#34;非可调用成员&#39; Environment.NewLine&#39;不能像方法一样使用。

如果有人能告诉我如何避免这种情况和/或可以取代Environment.NewLine()方法的其他方法,我真的很感激。

最后,我想澄清这不是重复的。对于新程序员来说,这篇文章确实解释了更多更具体的问题。与我相比的帖子有相同的解决方案,但不是同一个问题。它甚至是一个完全不同的主题。最重要的是,初学者可以复制解决方案,以便轻松地将额外的行添加到字符串或理解函数如何更好地工作,因为Environment.NewLine()是一个众所周知且易于理解的新程序员下的方法。

提前致谢, 耶勒

2 个答案:

答案 0 :(得分:0)

答案结果非常简单

public string insertlines(int i)
    {
        string st = "";
        for (int c = 0; c < i; c++)
        {
//Environment.NewLine shouldn't have "()" in it's own class

            st += Environment.NewLine;
        }
        return st;
    }

用于在字符串中创建白线的用法是:

Console.WriteLine($"I want 2 {insertLines(2)} blanc lines under the 2"});

或简化该示例:

Console.WriteLine("I want 2 " + insertLines(2) + " blanc lines under the 2");

对于阅读此内容的任何人,请使用&#34; \ n&#34;对于字符串中的新行。我已经学到了很多关于编码的知识,并认为我的问题和答案不是最好的,最有帮助的。

答案 1 :(得分:0)

字符串是不可变的。如果你要连接其中许多,为了效率,请尝试使用StringBuilder:

public string insertlines(string s, int i)
{
    StringBuilder sb = new StringBuilder();
    sb.Append(s);  // create the string
    for (int c = 0; c < i; c++)
    {
        sb.AppendLine(""); // add a line each time
    }
    return sb.ToString();
}