スマートとかそんなの以前に根本的なところで間違ってるんだから指摘してやれよ……

type[]は配列操作しないこと前提だから素直にList<T>を使え
コードはこんな感じだ

List<int> narabi = new List<int>(){1,2,3,4,5};
narabi.RemoveAt(2);
narabi.Add(0);

詳しいメソッドはList<T>でググれ