Какие правила объявления массива в C#?

Покажите пожалуйста все пути которыми можно создать массив, а то видел много разных вариантов, и не понимаю, неужели их так много?

Да, массив действительно можно объявить многими способами, вот примеры:

 static void Main(string[] args)
        {
            int[] myarray1 = new int[20];
            int[] myarray2 = new int[5] { 1, 3, 5, 6, 7 };
            int[] myarray3 = { 1, 3, 5, 6, 7, 8, 8, 9, 6, 4 };
            int[] myarray4 = new[] { 2, 4, 6, 8, 10, 12 };
            int[] myarray5 = new int[] {22,323,435,324,524,324 };
        }

Все эти способы равноценны, то есть разницы между ними нет, в первом случае мы создаем массив длинной в 20 элементов но не заполняем его, в таком случае мы можем его заполнить через цикл используя индекс для того что бы присвоить определенные значения каждому элементу массива. Во втором случае мы указываем сразу длину, и инициализируем все элементы массива, в третьем случае мы просто создали массив и инициализировали его, длина будет равна количеству элементов массива. В четвертом случае так же как и в пятом мы инициализируем массив при создании, разницы повторюсь практически никакой нет)