объявили переменную str типа string, которой в процессе обработки массива massiv будет последовательно присваиваться содержимое каждой его ячейки. Далее переменную str можно использовать в теле цикла для просмотра элементов массива (оператор foreach не позволяет изменять содержимое элементов массива, но для просмотра массива он очень удобен).
using System;
Namespace massiv
{
Class massiv
{
static void Main(string[] args)
{
int[] a = { 21, 3, 51, 7, 29, 11, 56, -5, 9, 0};
int p=1;
Console.Write("Исходный массив: ");
Foreach (int i in a)
{
Console.Write("{0} ", i);
p*=i;
}
Console.Write(" p=” + p);
Console.ReadLine();
}
}
}