Чтение онлайн

на главную - закладки

Жанры

Программирование мобильных устройств на платформе .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)

Поделиться:
Популярные книги

Кодекс Охотника. Книга ХХХ

Винокуров Юрий
30. Кодекс Охотника
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Охотника. Книга ХХХ

Локки 7. Потомок бога

Решетов Евгений Валерьевич
7. Локки
Фантастика:
аниме
эпическая фантастика
фэнтези
5.00
рейтинг книги
Локки 7. Потомок бога

Кодекс Крови. Книга Х

Борзых М.
10. РОС: Кодекс Крови
Фантастика:
фэнтези
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга Х

Законы Рода. Том 3

Мельник Андрей
3. Граф Берестьев
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 3

Матабар

Клеванский Кирилл Сергеевич
1. Матабар
Фантастика:
фэнтези
5.00
рейтинг книги
Матабар

Перекресток судеб

Щепетнов Евгений Владимирович
6. Нед
Фантастика:
фэнтези
8.84
рейтинг книги
Перекресток судеб

Три `Д` для миллиардера. Свадебный салон

Тоцка Тала
Любовные романы:
современные любовные романы
короткие любовные романы
7.14
рейтинг книги
Три `Д` для миллиардера. Свадебный салон

Кодекс Охотника. Книга XVI

Винокуров Юрий
16. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XVI

Мечник Вернувшийся 1000 лет спустя

Ткачев Андрей Юрьевич
1. Вернувшийся мечник
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Мечник Вернувшийся 1000 лет спустя

Ермак. Противостояние. Книга одиннадцатая

Валериев Игорь
11. Ермак
Фантастика:
попаданцы
альтернативная история
4.50
рейтинг книги
Ермак. Противостояние. Книга одиннадцатая

Красноармеец

Поселягин Владимир Геннадьевич
1. Красноармеец
Фантастика:
боевая фантастика
попаданцы
4.60
рейтинг книги
Красноармеец

Учитель из прошлого тысячелетия

Еслер Андрей
6. Соприкосновение миров
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Учитель из прошлого тысячелетия

Первый удар (сборник)

Уланов Андрей Андреевич
Фантастика:
научная фантастика
5.71
рейтинг книги
Первый удар (сборник)

Моров. Том 3

Кощеев Владимир
2. Моров
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Моров. Том 3