|
Программирование >> C# visual basicc#
ный обобщениям - с угловыми скобками. Внутри угловых скобок указывается тип элементов массива. В 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);
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |