> 'при тестировании
> ResetTestArray(testArray)
> Dim topIndex = testArray.Length - 1
> Dim idx As Integer
> For idx = 0 To topIndex
> '------------------------------------------
> 'Создать экземпляр вспомогательного класса,
> 'который расчленяет строку на три части
> 'Это неэкономный способ!
> '------------------------------------------
> workerClass1 = New WastefulWorkerClass(testArray(idx))
> 'Если средним словом является "blue", заменить его на "orange"
> If (workerClass1.MiddleSegment = "blue") Then
> 'Заменить средний сегмент
> workerClass1.MiddleSegment = "orange"
> 'Заменить слово
> testArray(idx) = workerClass1.getWholeString()
> End If
> Next 'внутренний цикл
> Next 'внешний цикл
> 'Получить время окончания теста
> PerformanceSampling.StopSample(0)
> MsgBox(PerformanceSampling.GetSampleDurationText(0))
>End Sub
Листинг 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)