с именем name выглядит так: public static void PrintAr1(string name,int[] A) { Console.WriteLine(name); for(int i = 0; i<A.GetLength(0);i++) Console.Write("t" + name + "[{0}]={1}", i, A[i]); Console.WriteLine(); }//PrintAr1 На рис. 11.1 показан консольный вывод результатов работы процедуры TestDeclarations.
Рис. 11.1. Результаты объявления и создания массивов Особое внимание обратите на вывод, связанный с массивами u и v. Динамические массивы Во всех вышеприведенных примерах объявлялись статические массивы, поскольку нижняя граница равна нулю по определению, а верхняя всегда задавалась в этих примерах константой. Напомню, что в C# все массивы, независимо от того, каким выражением описывается граница, рассматриваются как динамические, и память для них распределяется в "куче". Полагаю, что это отражение разумной точки зрения: ведь статические массивы, скорее исключение, а правилом является использование динамических массивов. В действительности реальные потребности в размере массива, скорее всего, выясняются в процессе работы в диалоге с пользователем. |