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

Тут можно читать онлайн Герберт Шилдт - C# 4.0: полное руководство - бесплатно ознакомительный отрывок. Жанр: comp-programming, издательство ООО И.Д. Вильямс, год 2011. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    C# 4.0: полное руководство
  • Автор:
  • Жанр:
  • Издательство:
    ООО И.Д. Вильямс
  • Год:
    2011
  • Город:
    Москва -- Киев
  • ISBN:
    978-5-8459-1684-6
  • Рейтинг:
    3.93/5. Голосов: 141
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

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

C# 4.0: полное руководство - описание и краткое содержание, автор Герберт Шилдт, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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


Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

C# 4.0: полное руководство - читать онлайн бесплатно ознакомительный отрывок

C# 4.0: полное руководство - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Герберт Шилдт
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Конкретное применение класса 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)) ;

Console.WriteLine("Емкость стека stk3: " + stk3.Capacity());

Console.WriteLine("Количество объектов в стеке stk3: "

+ stk3.GetNum());

}

}

При выполнении этой программы получается следующий результат.

Поместить символы А-J в стек stk1.

Стек stk1 заполнен.

Содержимое стека stk1: JIHGFEDCBA

Стек stk1 пуст.

Вновь поместить символы А-J в стек stk1.

А теперь извлечь символы из стека stk1

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

Содержимое стека stk2: ABCDEFGHIJ

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

Емкость стека stk3: 10

Количество объектов в стеке stk3: 5

Передача объектов методам по ссылке

В приведенных до сих пор примерах программ при указании параметров, передаваемых методам, использовались типы значений, например intили double. Но в методах можно также использовать параметры ссылочного типа, что не только правильно, но и весьма распространено в ООП. Подобным образом объекты могут передаваться методам по ссылке. В качестве примера рассмотрим следующую программу.

// Пример передачи объектов методам по ссылке.

using System;

class MyClass {

int alpha, beta;

public MyClass(int i, int j) {

alpha = i;

beta = j;

}

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

// имеет те же значения, что и вызывающий объект,

public bool SameAs(MyClass ob) {

if ((ob.alpha == alpha) & (ob.beta == beta))

return true;

else

return false;

}

// Сделать копию объекта ob.

public void Copy(MyClass ob) {

alpha = ob.alpha;

beta = ob.beta;

}

public void Show() {

Console.WriteLine("alpha: {0}, beta: {1}", alpha, beta);

}

}

class PassOb {

static void Main() {

MyClass ob1 = new MyClass(4, 5);

MyClass ob2 = new MyClass(6, 7);

Console.Write("ob1: ");

ob1.Show();

Console.Write("ob2: ");

ob2.Show();

if(ob1.SameAs(ob2))

Console.WriteLine("ob1 и ob2 имеют одинаковые значения.");

else

Console.WriteLine("ob1 и ob2 имеют разные значения.");

Console.WriteLine() ;

// А теперь сделать объект ob1 копией объекта ob2.

ob1.Copy(ob2);

Console.Write("ob1 после копирования: ");

ob1.Show();

if(ob1.SameAs(ob2) )

Console.WriteLine("ob1 и ob2 имеют одинаковые значения.");

else

Console.WriteLine("ob1 и ob2 имеют разные значения.");

}

}

Выполнение этой программы дает следующий результат.

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

Интервал:

Закладка:

Сделать


Герберт Шилдт читать все книги автора по порядку

Герберт Шилдт - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




C# 4.0: полное руководство отзывы


Отзывы читателей о книге C# 4.0: полное руководство, автор: Герберт Шилдт. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x