Герберт Шилдт - C# 4.0 - полное руководство

Здесь есть возможность читать онлайн «Герберт Шилдт - C# 4.0 - полное руководство» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва -- Киев, Год выпуска: 2011, ISBN: 2011, Издательство: ООО И.Д. Вильямс, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

C# 4.0: полное руководство: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «C# 4.0: полное руководство»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки.
Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

C# 4.0: полное руководство — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «C# 4.0: полное руководство», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

}

Метод IsFull()возвращает логическое значение true, если стек заполнен, а иначе — логическое значение false. Метод IsEmpty()возвращает логическое значение true, если стек пуст, а иначе — логическое значение false. Для получения общей емкости стека (т.е. общего числа элементов, которые могут в нем храниться) достаточно вызвать метод Capacity(),а для получения количества элементов, хранящихся в настоящий момент в стеке, — метод GetNum().Польза этих методов состоит в том, что для получения информации, которую они предоставляют, требуется доступ к закрытой переменной tos. Кроме того, они служат наглядными примерами организации безопасного доступа к закрытым членам класса с помощью открытых методов.

Конкретное применение класса Stackдля реализации стека демонстрируется в приведенной ниже программе.

// Продемонстрировать применение класса Stack,

using System;

// Класс для хранения символов в стеке.

class Stack {

// Эти члены класса являются закрытыми,

char[] stck; // массив, содержащий стек

int tos; // индекс вершины стека

// Построить пустой класс Stack для реализации стека заданного размера,

public Stack(int size) {

stck = new char[size]; // распределить память для стека

tos = 0;

}

// Поместить символы в стек,

public void Push(char ch) {

if(tos==stck.Length) {

Console.WriteLine(" - Стек заполнен.");

return;

}

stck[tos] = ch;

tos++;

}

// Извлечь символ из стека,

public char Pop() {

if(tos==0) {

Console.WriteLine(" - Стек пуст.");

return (char) 0;

}

tos-- ;

return stck[tos];

}

// Возвратить значение true, если стек заполнен,

public bool IsFull() {

return tos==stck.Length;

}

// Возвратить значение true, если стек пуст,

public bool IsEmpty() {

return tos==0;

}

// Возвратить общую емкость стека,

public int Capacity() {

return stck.Length;

}

// Возвратить количество объектов, находящихся в данный момент в стеке,

public int GetNum() {

return tos;

}

}

class StackDemo {

static void Main() {

Stack stk1 = new Stack(10);

Stack stk2 = new Stack(10);

Stack stk3 = new Stack(10);

char ch;

int i;

// Поместить ряд символов в стек stk1.

Console.WriteLine("Поместить символы А-J в стек stk1.");

for(i=0; !stk1.IsFull(); i++)

stk1.Push((char)('A' + i));

if(stk1.IsFull())

Console.WriteLine("Стек stk1 заполнен.");

// Вывести содержимое стека stk1.

Console.Write("Содержимое стека stk1: ");

while( !stk1.IsEmpty()) {

ch = stk1.Pop();

Console.Write(ch);

}

Console.WriteLine();

if(stk1.IsEmpty())

Console.WriteLine("Стек stk1 пуст.");

// Поместить дополнительные символы в стек stk1.

Console.WriteLine("Вновь поместить символы А-J в стек stk1.");

for(i=0; !stk1.IsFull(); i++)

stk1.Push((char)('A' + i));

// А теперь извлечь элементы из стека stk1 и поместить их в стек stk2.

// В итоге элементы сохраняются в стеке stk2 в обратном порядке.

Console.WriteLine("А теперь извлечь символы из стека stk1\n" +

"и поместить их в стек stk2.");

while( !stk1.IsEmpty()) {

ch = stk1.Pop();

stk2.Push(ch);

}

Console.Write("Содержимое стека stk2: ");

while( !stk2.IsEmpty() ) {

ch = stk2.Pop();

Console.Write(ch);

}

Console.WriteLine("\n");

// Поместить 5 символов в стек.

Console.WriteLine("Поместить 5 символов в стек stk3.");

for(i=0; i < 5; i++)

stk3.Push((char) ('A' + i)) ;

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «C# 4.0: полное руководство»

Представляем Вашему вниманию похожие книги на «C# 4.0: полное руководство» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «C# 4.0: полное руководство»

Обсуждение, отзывы о книге «C# 4.0: полное руководство» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x