Ayuda con el error: Indice fuera de los limites de la matriz

Tengo una base de datos con una tabla de la siguiente estructura

id int producto varchar tipo int 1 float 2 float 3 float 4 float 5 float 6 float ...hasta 52 

Ahora lo que necesito es que al seleccionar un numero de un dropdownlist (Semana1.SelectedValue), el cual tienen números del 27 al 52, al igual que los campos de mi tabla, debo inicializar una variable con el numero elegido del dropdownlist y contar 9 números consecutivos a partir del elegido, ahora lo que hago es llenar un array iniciando por el numero elegido y contando hasta 9 números mas, pero en mi for me indica el error del titulo. El los for puse <=52 porque 52 es el numero máximo al que puede ser llenado el array

Al final como pueden ver puse un foreach el cual lo necesito para leer los números que se cargaron en el array.

int sem1 = Convert.ToInt32(Semana1.SelectedValue.ToString()); string query = ""; double cjs = 0; int[] valores=new int[9]; int i; if (double.TryParse(cantidad.Text, out cjs)) {     if (Producto.SelectedValue == "PAPEL")     {         if (Tipo.SelectedValue == "1")         {             if (sem1 == 52)             {                 for (i = 1; i <= 52; i++)                 {                     valores[i]=i;                 }             }             else             {                 for (i = sem1; i <=52; i++)                 {                     valores[i]=i;                 }                                           }         }     }     foreach (int y in valores)     {     }