Inicializando matriz C # con nuevo vs. inicializando con literal

Pregunta corta simple ¿Cuál es exactamente la diferencia entre

int[] intarray = new int[2]{1,2};

y

int[] intarray2 = {4,5,6};

¿Qué hace exactamente lo "nuevo"? y realmente lo necesitas?

Supongo que solo asigna memoria ... ¿o algo así? Lo siento, soy completamente nuevo en C # y tengo preguntas sobre cómo aprenderlo.

Respuestas a la pregunta(5)

Su respuesta a la pregunta