Пример 13.1 3. Использование класса

Результат работы программы:

3. Использование класса StringBuilder:

using System;

using System.Collections.Generic;

using System.Text;

namespace HelloWorldDemo

{

class Program

{

static void Main(string[] args)

{

StringBuilder WordList = new StringBuilder("Каждый Охотник ");

WordList.Append("Желает Знать Где ");

Console.WriteLine(WordList);

WordList.Append("Сидит Фазан");

Console.WriteLine(WordList);

// Сделать все буквы прописными

string Spectrum = WordList.ToString().ToUpper();

Console.WriteLine(Spectrum);

}

}

}

Результат работы программы:

4. Использование класса ArrayList.

Использование класса ArrayList из пространства имен System.Collections позволяет эффективно реализовать работу с массивами объектов, поскольку многие возможности, необходимые для этого реализованы изначально, в частности методы вставки, удаления и нумерации элементов.

Для использования возможностей ArrayList используется не обычное наследование, а модель включения в виде делегирования вызовов на выполнение различных действий классу производному от ArrayList:

public class NBooks: IEnumerable

{

// nbList — внутренний класс, который будет делать всю работу

private ArrayList nbList;

// Создаем объект класса nbList при помощи конструктора NBooks

public NBooks() {nbList = new ArrayList();}

// Реализуем нужные нам методы для приема вызовов извне и передачи их nbList

// Метод для вставки объекта NBook

public void AddNBook(NBook nb)

{ nbList.Add(nb); }

// Метод для удаления объекта NBook

public void RemoveNBook(int nbToRemove)

{ nbList.RemoveAt(nbToRemove); }

// Свойство, возвращающее количество объектов NBook

public int NBookCount

{ get { return nbList.Count; } }

// Метод для очистки объекта — удаления всех объектов NBook

public void ClearAllNBooks()

{ nbList.Clear(); }

// Метод, который отвечает на вопрос — есть ли уже в наборе такой объект NBook

public bool NBookIsPresent(NBook c)

{ return nbList.Contains(c); }

// Все, что связано с реализацией IEnumerator, перенаправляется в nbList

public IEnumerator GetEnumerator()

{ return nbList.GetEnumerator(); }

}

Реализация класса NBook и код программы, использующей класс NBooks представлены ниже.

using System;

using System.Collections.Generic;

using System.Collections;

using System.Text;

namespace NBooks

{

public class NBook

{

// Конструктор класса NBook

public string Model;

public string CPU_model;

public int CPU_clock;

public int RAM_size;

public NBook(string mname, string CPU, int Clock, int RAM)

{

Model = mname;

CPU_model = CPU;

CPU_clock = Clock;

RAM_size = RAM;

}

}

class Program

{

static void Main(string[] args)

{

NBooks nbLot = new NBooks();

// Создание списка объектов NBook

nbLot.AddNBook(new NBook("ASUS A7Sn","Intel Core 2 Duo T8300", 2400, 2048));

nbLot.AddNBook(new NBook("Acer Aspire 5530G-803G25Mi","AMD Turion X2 Ultra ZM80", 2100, 3072));

nbLot.AddNBook(new NBook("Fujitsu Amilo Si 2636", "Intel Core 2 Duo T8300", 2400, 2048));

nbLot.AddNBook(new NBook("HP Pavilion tx2650er", "AMD Turion X2 Ultra ZM82", 2200, 4096));

// Выводим информацию о каждом объекте при помощи конструкции foreach

Console.WriteLine("You have {0} in the lot: \n", nbLot.NBookCount);

foreach (NBook nb in nbLot)

{

Console.WriteLine("Model: {0}", nb.Model);

Console.Write("CPU: {0}", nb.CPU_model);

Console.WriteLine(" {0} GHz", nb.CPU_clock);

Console.WriteLine("RAM: {0} GB\n", nb.RAM_size);

}

// Удаляем один из ноутбуков

nbLot.RemoveNBook(3);

Console.WriteLine("You have {0} in the lot.\n", nbLot.NBookCount);

// Добавляем еще один ноутбук и проверяем его наличие в наборе

NBook temp = new NBook("ASUS M51Ta", "AMD Turion™ X2 Ultra ZM84", 2300, 4096);

nbLot.AddNBook(temp);

if(nbLot.NBookIsPresent(temp))

Console.WriteLine(temp.Model + " is already in the lot.");

// Удалить все

nbLot.ClearAllNBooks();

Console.WriteLine("You have {0} in the lot.\n", nbLot.NBookCount);

}

}

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: