Сообщения с тегом ‘Write’
Массивы массивов
Написано admin в 20 Июнь 2008 – 21:16 -Массивы массивов
Еще одним видом массивов C# являются массивы массивов, называемые также изрезанными массивами (jagged arrays). Такой массив массивов можно рассматривать как одномерный массив, элементы которого являются массивами, элементы которых, в свою очередь, снова могут быть массивами, и так может продолжаться до некоторого уровня вложенности.
В каких ситуациях может возникать необходимость в таких структурах данных? Эти массивы могут применяться для представления деревьев, у которых узлы могут иметь произвольное число потомков. Таковым может быть, например, генеалогическое дерево. Вершины первого уровня — Fathers, представляющие отцов, могут задаваться одномерным массивом, так что Fathers[i] — это i-й отец. Вершины второго уровня представляются массивом массивов — Children, так что Children[i] — это массив детей i-го отца, а Children[i][j] — это j-й ребенок i-го отца. Для представления внуков понадобится третий уровень, так что GrandChildren [i][j][k] будет представлять к-го внука j-го ребенка i-го отца.
Есть некоторые особенности в объявлении и инициализации таких массивов. Если при объявлении типа многомерных массивов для указания размерности использовались запятые, то для изрезанных массивов применяется более ясная символика — совокупности пар квадратных скобок; например, int[][] задает массив, элементы которого — одномерные массивы элементов типа int.
Сложнее с созданием самих массивов и их инициализацией. Здесь нельзя вызвать конструктор new int[3][5], поскольку он не задает изрезанный массив. Фактически нужно вызывать конструктор для каждого массива на самом нижнем уровне. В этом и состоит сложность объявления таких массивов. Начну с формального примера: Read more »
Tags: Console, Fcount, GetLength, jagger, Length, PrintAr, string, void, Write, WriteLine
Находится в Учебник | No Comments »
Урок 58. Класс Path
Написано admin в 14 Июнь 2008 – 16:36 -Урок 58. Класс Path
Класс Path предназначен для работы с файловыми путями (что, вобщем-то, совсем не удивительно). Этот класс обладает целым рядом полезных статических методов, которые мы сейчас и рассмотрим на конкретном примере.
Tags: ChangeExtension, Console, File, GetCurrentDirectory, GetExtension, GetFileNameWithoutExtension, GetTempFileName, Move, Write
Находится в Уроки C# | No Comments »
