Книга: Программирование мобильных устройств на платформе .NET Compact Framework
Листинг 8.4. Рабочий класс для первого тестового примера
Листинг 8.4. Рабочий класс для первого тестового примера
Option Strict On
Imports System
Public Class WastefulWorkerClass
Private m_beginning_segment As String
Public Property BeginSegment() As String
Get
Return m_beginning_segment
End Get
Set(ByVal Value As String)
m_beginning_segment = Value
End Set
End Property
Private m_middle_segment As String
Public Property MiddleSegment() As String
Get
Return m_middle_segment
End Get
Set(ByVal Value As String)
m_middle_segment = Value
End Set
End Property
Private m_end_segment As String
Public Property EndSegment() As String
Get
Return m_end_segment
End Get
Set(ByVal Value As String)
m_end_segment = Value
End Set
End Property
Public Sub New(ByVal in_word As String)
Dim index_segment1 As Integer
'Осуществляем поиск символов подчеркивания ("_") в строке
index_segment1 = in_word.IndexOf("_", 0)
'В случае отсутствия символов "_" все, что нам нужно, это первый сегмент
If (index_segment1 = -1) Then
m_beginning_segment = in_word
m_middle_segment = ""
m_end segment = ""
Return
Else
'Если присутствует символ "_", отсечь его
'Если первым символом является "_", то первым сегментом будет ""
If (index_segment1 = 0) Then
m_beginning_segment = ""
Else
'Первый сегмент
m_beginning_segment = in_word.Substring(0, index_segment1)
End If
'Найти второй символ "_"
Dim index_segment2 As Integer
index_segment2 = in_word.IndexOf("_", index_segment1 + 1)
'Второй символ "_" отсутствует
If (index_segment2 = -1) Then
m_middle_segment = ""
m_end_segment = in_word.Substring(index_segment1 + 1)
Return
End If
'Установить последний сегмент
m_middle_segment = in_word.Substring(index_segment1 + 1, _
index_segment2 - index_segment1 - 1)
m_end_segment = in_word.Substring(index_segment2 + 1)
End If
End Sub
'Возвращает все три сегмента, объединенные символами "_"
Public Function getWholeString() As String
Return m_beginning_segment + "_" + m_middle_segment + "_" + _
m_end_segment
End Function
End Class
- Листинг 8.1. Применение отложенной загрузки, кэширования и освобождения графических ресурсов
- Листинг 8.2. Общий код, используемый во всех приведенных ниже вариантах тестов
- Листинг 8.3. Тестовый пример, демонстрирующий неэкономное распределение памяти (типичный первоначальный вариант реализации интересующей нас функции)
- Листинг 8.4. Рабочий класс для первого тестового примера
- Листинг 8.5. Тестовый пример, демонстрирующий уменьшение объема памяти, распределяемой для объектов (типичный образец улучшения первоначального варианта реализации интересующей нас функции)
- Листинг 8.6. Рабочий класс для второго тестового примера
- Листинг 8.7. Тестовый пример, демонстрирующий значительное уменьшение объема памяти, распределяемой для объектов (типичный образец существенной алгоритмической оптимизации первоначального варианта реализации интересующей нас функции)
- Листинг 8.8. Рабочий класс для третьего тестового примера
- Листинг 8.9. Сравнение эффективности использования строк и класса stringBuilder в алгоритмах
- Листинг 10.1. (simpleid.c) Отображение идентификаторов пользователя и группы
- 7.4.2.4. Создание своего первого LiveCD
- 6.4. Рабочий лист Excel и его структурные элементы
- Листинг 15.11. Код для загрузки файла с Web-сервера
- Delphi. Учимся на примерах
- Как установить любимую фотографию на Рабочий стол?
- Возможно ли, чтобы при создании нового пользователя для него уже был настроен Рабочий стол?
- Листинг 3.1. Конфигурационный файл lilo.conf
- Листинг 3.2. Файл настройки программы inittab
- Листинг 3.3. Файл
- Листинг 3.4. Информация о конфигурации и состоянии сети
- Листинг 4.1. Файл