You can use Take method:

description.Take(10)

Unfortunately, this method returns IEnumerable which cannot be directly converted to string (ToString method would return name of type as usually when using it on IEnumerable). You can't create string using it, because string constructor requires array of chars, so the easiest solution will be:

new string(description.Take(10).ToArray())

Still, such code makes it harder to read if you want to use it few times, so you can create extension method:

public static string TakeFirst(this string text, int number)
{
    if (text == null)
        return null;

    return new string(text.Take(number).ToArray());
}

Then you can just use it:

$"{description.TakeFirst(10)} jumps..";

EDIT: As mentioned in comments, because of allocation of array each time this method is called, there might occur serious performance issues. You can avoid them by implementing TakeFirst method using Substring instead of Take(x).ToArray() solution.


As the question was:
"Is it possible to do a string interpolation formatting a substring of a string?"
In such a manner:

var result = $"{description:10} jumps..",

The answer given from @JohnSkeet and @JeroenMostert was most acurate:
"No, it is not possible."

There are various ways to simplify the call. thanks for @PiotrWojsa for pointing that out. however that doesnt involve the interpolation part..