EDIT: Okay, now you have changed the example, there is nothing built-in - and it would actually be a little painful to write ... you will need to consider cases where you move it up and where you move it down, for example. You need unit tests, but I think this should be done ...
public void ShiftElement<T>(this T[] array, int oldIndex, int newIndex)
{
if (oldIndex == newIndex)
{
return;
}
T tmp = array[oldIndex];
if (newIndex < oldIndex)
{
Array.Copy(array, newIndex, array, newIndex + 1, oldIndex - newIndex);
}
else
{
Array.Copy(array, oldIndex + 1, array, oldIndex, newIndex - oldIndex);
}
array[newIndex] = tmp;
}
, List<T> , . , , .