Я вспомнил, что отвечал на этот вопрос, и только что узнал о новом объекте, который может обеспечить высокопроизводительный метод выполнения того, что вы хотите.
Взгляните на ArraySegment<T>
. Это позволит вам сделать что-то вроде.
string[] parts = myString.spilt(" ");
int idx = parts.Length - 2;
var stringView = new ArraySegment<string>(parts, idx, parts.Length - idx);