Программирование мобильных устройств на платформе .NET Compact Framework
Шрифт:
Dim testArray As String = Nothing
'--------------------------------------------------
'Просмотреть элементы массива и
'найти те из них, в которых средним словом является
'"blue". Заменить "blue" на "orange"
'Запустить секундомер!
'--------------------------------------------------
PerformanceSampling.StartSample(1, "LessWasteful")
'-------------------------------------------------------
'БОЛЕЕ
ЭКОНОМНЫЙ СПОСОБ: Распределить память для объекта
'до вхождения в цикл
'-------------------------------------------------------
Dim workerClass1 As LessWastefulWorkerClass
workerClass1 = New LessWastefulWorkerClass
Dim outerLoop As Integer
For outerLoop = 1 To LOOP_SIZE
'Присвоить элементам массива значения, которые мы хотим использовать
'при тестировании ResetTestArray(testArray)
Dim topIndex As Integer = testArray.Length -1 Dim idx As Integer
For idx = 0 To topIndex
'---------------------------------------------------------
'Теперь вместо повторного распределения памяти для объекта
'нам достаточно лишь повторно воспользоваться им
'---------------------------------------------------------
'workerClass1 = new WastefulWorkerClass(
' testArray(topIndex))
workerClass1.ReuseClass(testArray(idx))
'Если средним словом является "blue", заменить его на "orange"
If (workerClass1.MiddleSegment = "blue") Then
'Заменить средний сегмент
workerClass1.MiddleSegment = "orange"
'Заменить слово
testArray(idx) = workerClass1.getWholeString
End If
Next ' внутренний цикл
Next 'внешний цикл
'Остановить секундомер!
PerformanceSampling.StopSample(1)
MsgBox(PerformanceSampling.GetSampleDurationText(1))
End Sub
Листинг 8.6. Рабочий класс для второго тестового примера
Option Strict
On Imports System
Public Class LessWastefulWorkerClass
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 ReuseClass(ByVal in_word As String)
'----------------------------------------------
'Для
повторного использования класса необходимо
'полностью очистить внутреннее состояние
'----------------------------------------------
m_beginning_segment = ""
m_middle_segment = ""
m_end_segment = ""
Dim index_segment1 As Integer
'Осуществляем поиск символов подчеркивания ("_") в строке
index_segment1 = in_word.IndexOf("_", 0)
'В случае отсутствия символов "_" все, что нам нужно, это первый сегмент
If (index_segment1 = -1) Then
m_beginning_segment = in_word
Return
Else
'Если присутствует символ "_", отсечь его
If (index_segment1 = 0) Then
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)
Поделиться:
Популярные книги
Игра топа. Революция
3. Игра топа
Фантастика:
фэнтези
7.45
рейтинг книги
Кровь на эполетах
3. Штуцер и тесак
Фантастика:
альтернативная история
7.60
рейтинг книги
Темный Охотник
1. КО: Темный охотник
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Измена. Мой заклятый дракон
Любовные романы:
любовно-фантастические романы
7.50
рейтинг книги
Император поневоле
6. Фараон
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Восход. Солнцев. Книга V
5. Голос Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Пограничная река. (Тетралогия)
Пограничная река
Фантастика:
фэнтези
боевая фантастика
9.13
рейтинг книги
Гром над Империей. Часть 2
6. Гром над миром
Фантастика:
фэнтези
попаданцы
5.25
рейтинг книги
Идеальный мир для Лекаря 7
7. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Адепт. Том второй. Каникулы
7. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.05
рейтинг книги
Здравствуй, 1985-й
2. Девяностые
Фантастика:
альтернативная история
5.25
рейтинг книги
Вечный. Книга V
5. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Внешники такие разные
Вселенная S-T-I-K-S
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Возвышение Меркурия. Книга 8
8. Меркурий
Фантастика:
героическая фантастика
попаданцы
аниме
5.00