Wrapping single line string to multiple lines with specific length
I think you shouldn't build a new string there because it's a new responsibility. The method should only split the text and return its parts with the specified length.

The user should decide what to do with the results next. Maybe he does not want to use the Environment.NewLine but some other new-line? 

I prefer it to be a split-only method:

public static IEnumerable&lt;string&gt; Split(this string text, int partLength)
{
    if (text == null) { throw new ArgumentNullException("singleLineString"); }

    if (partLength &lt; 1) { throw new ArgumentException("'columns' must be greater than 0."); }

    var partCount = Math.Ceiling((double)text.Length / partLength);
    if (partCount &lt; 2)
    {
        yield return text;
    }

    for (int i = 0; i &lt; partCount; i++)
    {
        var index = i * partLength;
        var lengthLeft = Math.Min(partLength, text.Length - index);
        var line = text.Substring(index, lengthLeft);
        yield return line;
    }
}


I need to complain about the missing {} but I guess you probably know that ;-)

The names of the variables could also be a little bit clearer.

Technically you don't need this if:


    if (partCount &lt; 2)
    {
        yield return text;
    }



The result will be the same with out it because the for would execute only once .