|
|||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
Цикл For-each
Вміст
масиву часто перебирається в циклі
від 0 до Ubound(масив), проте ви також
можете скористатися
конструкцією For-each. Синтаксис For-each
виглядає таким чином: For Each
змінна In масив [команди] [Exit
For при необхідності] [команди]
Next Конструкція For-each
універсальна і може
використовуватися в тих випадках, коли
структура даних підтримує
ітеративний перебір елементів. За
подробицями звертайтеся до розділу 4.
Масиви не
обмежуються одним вимірюванням.
Допустимо, ви хочете зберегти
таблицю множення в матричному вигляді.
Зразкове рішення може виглядати
так: Dim multable(11.11) As Integer ' Створює масив 12x12 Dim i As Integer, j As Integer For i =
0 To 11 For j =
0 To 11 multable(i.j) = (i+l)*(j+l) Next j Next i Розміри
масивів в VB .NET можуть змінюватися, але
кількість вимірювань повинна
залишатися постійною. Багатовимірний
масив з невизначеною
кількістю елементів оголошується
за допомогою ком. Наступний
приклад показує, як оголосити
тривимірний масив:
Dim salesbydivision(,, ) As Decimal Команда Redim
задає або змінює кількість
елементів в кожному вимірюванні, але
розмірність масиву не змінюється.
Раніше вибір між
процедурою (Sub) і функцією (Function) визначався
простим критерієм: якщо
ви збиралися використовувати повертане
значення, слід було
вибирати функцію, а якщо немає —
процедуру. Ми рекомендуємо
дотримуватися цієї моделі, хоча
ніщо не заважає проігнорувати
повертане значення функції. У
об'єктно-орієнтованих
програмах функції і процедури
зазвичай включаються в класи і
називаються методами. У VB .NET, як і в
багатьох мовах програмування,
існують два способи передачі
параметрів функціям і процедурам: передача
по посиланню і передача за
значенням. Коли параметр
передається по посиланню, його зміни
усередині функції приведуть до
зміни початкового аргументу
після виходу з функції. За
умовчанням в VB .NET параметри
передаються за значенням (а в Vb6 — по
посиланню).
Щоб
створити нову функцію або процедуру у
вікні програми, встановите курсор
за межами інших процедур
і функцій і починайте
вводити заголовок процедури або
функції. Як тільки ви натиснете клавішу
Enter, редактор IDE автоматично
створить команду End правильного типу (End Functi
on або End Sub). Нижче приведений
заголовок функції, яка отримує
цілий параметр за значенням і
повертає логічну величину (True або False)
залежно від того, чи належить
переданий параметр інтервалу від 1
до 10: Function Isbetweenland10(Byval num As Integer) As
Boolean
Повний текст
модуля з функцій Is Between land 10
приведений нижче. Порядок проходження
функцій не важливий — функція Sub Mai n
може знаходитися і після
визначення функції, яка в ній
використовується. Module
Modulel Function
Isbetweenland10 (Byval num As Integer) As Boolean If num >= 1 And num <=10 Then Return
True Else Return
False End If End Function Sub Main() Console.
Writelinedsbetweenland100)) Console. Readline() End Sub End Module У VB .NET при
виклику функції або процедури
непорожній список параметрів завжди
полягає в круглі дужки, як в
рядку з викликом Console.WriteLine: Isbetweenland100) Звернете увагу
на ключове слово Return. При виконанні
команди Return функція завершується
і повертає значення, вказане
після Return (значення має
бути визначеним — повернення
аналога voi d не допускається).
Також підтримується синтаксис
з привласненням імені функції,
VB, що використався
в колишніх версіях: Function Isbetweenland10(Byval num As Integer) As Boolean If num >= 1 And
num <= 10 Then Isbetweenland10 = True Else Isbetweenland10= False End If End
Function Використання
Return — справа смаку. Команда Return
наочніша і простіша, але старий
синтаксис залишає управління
усередині функції, а це іноді буває
зручно. Узагальнена
форма визначення функції виглядає
таким чином: Function імя_функциі
(аргумент1, аргумент2 ...) As тип команди Return вираз ' або імя_функциі = вираз End Function де аргумент1 і аргумент2
— змінні. Імена функцій
підкоряються тим же правилам,
що і імена змінних. При
виклику функції VB .NET виконує команди,
що містяться у
визначенні функції. Значення,
вказане після Return (або останнє
значення, привласнене імені
функції), визначає результат
виклику.
Звичайна
кількість аргументів,
передаваних при виклику функції,
повинно збігатися з кількістю
параметрів в її визначенні. Типи
аргументів мають бути сумісні
з типами відповідних
параметрів, при цьому автоматично
виконуються тільки розширяльні
перетворення. Наприклад,
наступний фрагмент допустимий,
оскільки перетворення Short в Integer
не приводить до втрати даних: Dim bar As Short = 3 Console.WriteLinedsBetweenlAnd10(bar)) VB .NET дозволяє
створювати функції із змінним
числом аргументів. Додаткова
інформація приведена далі в цьому
розділі.
|
|
|||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||