Один из вариантов, который следует рассмотреть, - создать совершенно новый массив и присвоить его существующей переменной.
Код будет выглядеть примерно так:
existingVariableName = existingVariableName
.Skip(1)
.Concat(new Datapoint[] { new Datapoint() })
.ToArray();
Skip(1)
означает пропустить существующий первый элемент. Concat
используется для добавления нового элемента в конце. ToArray
материализует запрос LINQ в новый результирующий массив.