Программирование мобильных устройств на платформе .NET Compact Framework (Салмре) - страница 535

>  'при тестировании

>  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)