Respostas:
Sim, Enumerable.Skip faz o que você deseja:
contents.Skip(1)
No entanto, o resultado é um IEnumerable <T>, se você deseja obter uma matriz, use:
contents.Skip(1).ToArray()
O seguinte seria equivalente ao seu forloop:
foreach (var item in contents.Skip(1))
Message += item;
var item??
contentsmatriz em uma nova instância daArraySegment<>estrutura. Na época, a resposta acima foi escrito, que não foi particularmente útil, mas desde que .NET 4.5 osArraySegment<>implementosIList<>,IReadOnlyList<>e suas interfaces de base (incluindoIEnumerable<>), para que você possa, por exemplo, passar umArraySegment<>parastring.Join.