Книга: Программирование мобильных устройств на платформе .NET Compact Framework
Листинг 8.6. Рабочий класс для второго тестового примера
Листинг 8.6. Рабочий класс для второго тестового примера
using System;
public class LessWastefulWorkerClass {
private string m_beginning_segment;
public string BeginSegment {
get { return m beginning_segment; }
set { m_beginning_segment = value; }
}
private string m_middle_segment;
public string MiddleSegment {
get { return m_middle_segment; }
set { m_middle segment = value; }
}
private string m_end_segment;
public string EndSegment {
get { return m_end_segment; }
set { m_end_segment = value; }
}
public void ReuseClass(string in word) {
//----------------------------------------------
//Для повторного использования класса необходимо
//полностью очистить внутреннее состояние
//----------------------------------------------
m_beginning_segment = "";
m_middle_segment = "";
m_end_segment = "";
int index_segment1;
//Осуществляем поиск символов подчеркивания (" ") в строке
index segment1 = in_word.IndexOf(" ",0);
//B случае отсутствия символов " " все, что нам нужно, это первый сегмент
if (index_segment1 == -1) {
m_beginning_segment = in_word;
return;
}
//Если присутствует символ " ", усечь его
else {
if (index_segment1 == 0) {
} else {
m_beginning_segment = in_word.Substring(0, index_segment1);
}
int index_segment2;
index_segment2 = in_word.IndexOf("_", index_segment1 + 1);
if (index_segment2 == -1) {
m_end_segment = in_word.Substring(index_segment1 + 1);
return;
}
//Установить последний сегмент
m_middle_segment = in_word.Substring(index_segment1 + 1, index_segment2 - index_segment1 - 1);
m_end_segment = in_word.Substring(index_segment2 + 1);
}
}
public string getWholeString() {
return m_beginning_segment + "_" + m_middle_segment + "_" + m_end_segment;
}
}
- Листинг 8.5. Тестовый пример, демонстрирующий уменьшение объема памяти, распределяемой для объектов (типичный образец улучшения первоначального варианта реализации интересующей нас функции)
- Листинг 8.6. Рабочий класс для второго тестового примера
- Предшествующий код оставляет возможности для внесения дальнейших улучшений
- Листинг 10.1. (simpleid.c) Отображение идентификаторов пользователя и группы
- 6.4. Рабочий лист Excel и его структурные элементы
- Листинг 15.11. Код для загрузки файла с Web-сервера
- Delphi. Учимся на примерах
- Как установить любимую фотографию на Рабочий стол?
- После подключения второго жесткого диска Windows не загружается. Что делать?
- Возможно ли, чтобы при создании нового пользователя для него уже был настроен Рабочий стол?
- Листинг 3.1. Конфигурационный файл lilo.conf
- Листинг 3.2. Файл настройки программы inittab
- Листинг 3.3. Файл
- Листинг 3.4. Информация о конфигурации и состоянии сети
- Листинг 4.1. Файл