Программирование >>  C# visual basicc# 

1 2 3 4 [ 5 ] 6 7 8 ... 10


ный обобщениям - с угловыми скобками. Внутри угловых скобок указывается тип элементов массива. В C++/CLI поддерживаются инициализаторы массива с тем же синтаксисом, что и в C#.

C++/CLI

array<int> arr1 = gcnew array<int>(3) {1, 2, 3}; array<int> arr2 = {1, 2, 3};

В Visual Basic для определения массивов применяются круглые скобки. При объявлении массива в Visual Basic требуется указать номер последнего элемента вместо количества элементов. Во всех языках .NET нумерация элементов массива начинается с 0. Это справедливо и в отношении Visual Basic. Для ясности в Visual Basic 9 в объявлении массива введено выражение 0 To number. Оно всегда начинается с 0, а To используется просто для лучшей читабельности.

В Visual Basic также поддерживаются инициализаторы массивов, если массив инициализируется операцией New.

Visual Basic

Dim arr1(0 To 2) As Integer()

Dim arr2 As Integer() = New Integer(0 To 2) {1, 2, 3};

Управляющие операторы

Управляющие операторы указывают, какой код должен выполняться. В C# определены операторы if и switch, а также условная операция.

Оператор if

Оператор if в C# точно такой же, как и в C++/CLI. В Visual Basic вместо фигурных скобок используется If-Then/Else/End If.

C# and C++/CLI

if (a == 3)

что-то делать

else

что-то делать

Visual Basic

If a = 3 Then

что-то делать

Else

что-то делать End If

Условная операция

В C# и C++/CLI поддерживается условная операция - облегченная версия оператора if. В C++/CLI эта операция известна под названием тернарной. Ее первый аргумент должен возвращать результат булевского типа, и если он равен true, то вычисляется первое выражение (второй аргумент), в противном случае - второе выражение (третий аргумент). В Visual Basic имеется функция IIf из библиотеки Visual Basic Runtime Library, которая поддерживает аналогичную функциональность.

C#

string s = a > 3 ? one : two ;



C++/CLI

String s = a > 3 ? one : two ;

Visual Basic

Dim s As String = IIf(a > 3, one , two )

Оператор switch

Операторы switch в C# и C++/CLI выглядят очень похоже, но между ними есть существенная разница. В C# поддерживаются строки для выбора альтернатив case. Это невозможно в C++. В C++ вам придется в таком случае воспользоваться if-else. В C++/CLI поддерживается неявное сквозное прохождение от одного case к другому. В C# компилятор проверяет наличие break или goto между case. В C# неявное сквозное прохождение выполняется, только если в ветви case нет никаких операторов.

В Visual Basic имеется оператор Select Case вместо switch/case. Аналог break не только не нужен, но и невозможен. Неявное сквозное прохождение от одного case к другому невозможно, даже если нет ни одного оператора после Case; вместо этого Case может комбинироваться с помощью And, Or и To, например, 3 To 5.

C#

string GetColor(Suit s)

string color; switch (s)

case Suit.Heart: case Suit.Diamond:

color = Red ;

break; case Suit.Spade: case Suit.Club:

color = Black ; break;

default: color = Unknown ; break;

return color;

C++/CLI

String GetColor(Suit s)

String color; switch (s)

case Suit::Heart: case Suit::Diamond:

color = Red ;

break; case Suit::Spade:

case Suit::Club:

color = Black ;

break; default:

color = Unknown ; break;



Visual Basic

Function GetColor(ByVal s As Suit) As String Dim color As String = Nothing Select Case s

Case Suit.Heart And Suit.Diamond color = Red

Case Suit.Spade And Suit.Club

color = Black Case Else

color = Unknown End Select

Return color End Function

Циклы

С помощью циклов можно многократно выполнять код до тех пор, пока удовлетворяется некоторое условие. Циклы в C# обсуждаются в главе 2, включая for, while, do..while и foreach. Все эти операторы очень похожи в C# и C++/CLI. В Visual Basic определены другие операторы.

Оператор for

Оператор for в C# и C++/CLI аналогичен. В Visual Basic вы не можете инициализировать переменную внутри оператора For/To, а должны это сделать предварительно. For/To не требует, чтобы за ним следовало слово Step. По умолчанию - Step 1. В случае если не нужно инкрементирование на 1, после For/To следует указать Step.

C#

for (int i = 0; i < 100;

Console.WriteLine(i);

C++/CLI

for (int i = 0; i < 100;

Console::WriteLine(i);

Visual Basic

Dim count as Integer

For count = 0 To 99 Step 1

Console.WriteLine(count) Next

Операторы while и do..while

Операторы while и do..while одинаковы в C# и C++/CLI. В Visual Basic имеются очень похожие конструкции - Do While/Loop и Do/Loop While. C#

int i = 0;

while (i < 3) {

Console.WriteLine(i++);

i = 0;

do {

Console.WriteLine(i++);

} while (i < 3);



1 2 3 4 [ 5 ] 6 7 8 ... 10

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика