Сравнение программирования на Visual Basic и C#
Обновлен: Ноябрь 2007
Решения Visual Studio Tools for Office можно создавать как на языке Visual Basic, так и на C#. Объектная модель Microsoft Office разработана для применения с языком Microsoft Visual Basic для приложений (VBA). Благодаря этому разработчики, использующие язык Visual Basic, могут свободно работать с объектами, предоставляемыми в приложениях Microsoft Office. При использовании C# доступные ссылки отличаются от применяемых в объектной модели Microsoft Office. Существуют различия между основными возможностями программирования для Office и управляемым кодом, написанным на Visual Basic и C#.
Ключевые различия между языками программирования Visual Basic и C#
В следующей таблице показаны основные различия в использовании языков Visual Basic и C# при разработке решений Office.
Функциональная возможность |
Описание |
Поддержка Visual Basic |
Поддержка C# |
---|---|---|---|
Необязательные параметры |
Во многих методах Microsoft Office предусмотрены необязательные параметры. Если параметру не передается значение, используется установленное для него значение по умолчанию. |
В Visual Basic поддерживаются необязательные параметры. |
В C# необязательные параметры не поддерживаются. Это означает, что необходимо передавать значения для всех параметров. Дополнительные сведения см. в разделе Общие сведения о необязательных параметрах в решениях Office. |
Передача параметров по ссылке |
В большинстве основных сборок взаимодействия Microsoft Office необязательные параметры могут передаваться по значению. Однако в некоторых таких сборках необязательные параметры, принимающие ссылочные типы, должны передаваться по ссылке. Дополнительные сведения о параметрах типов значений и ссылочных типов см. в разделах Передача аргументов по значению или по ссылке (для Visual Basic) и Передача параметров (Руководство по программированию в C#). |
Дополнительных действий для передачи параметров по ссылке не требуется. При необходимости компилятор Visual Basic автоматически передает параметры по ссылке. |
Необязательные параметры, которые содержатся в некоторых основных сборках взаимодействия (например для приложения Word) и принимают ссылочные типы, должны передаваться с использованием зарезервированного слова ref. В этом случае передается переменная, содержащая фактическое значение. |
Параметризованные свойства |
Некоторые свойства принимают параметры и используются в качестве функций, доступных только для чтения. |
В Visual Basic поддерживаются свойства, принимающие параметры. |
В C# для получения и установки значения свойства, принимающего параметры, необходимо использовать методы доступа get и set соответственно. |
Позднее связывание |
Позднее связывание подразумевает определение свойств объектов во время выполнения вместо приведения переменных к типу объекта во время разработки. |
Чтобы реализовать позднее связывание в Visual Basic, для оператора Option Strict следует установить значение Off. Дополнительные сведения см. в разделе Оператор Option Strict. |
В C# позднее связывание не выполняется непосредственно. Однако можно использовать типы из пространства имен System.Reflection, чтобы определить доступные члены указанного типа и выполнить тип позднего связывания. |
Индексы массива |
В приложениях Microsoft Office нижняя граница коллекций начинается с 1. В Visual Basic и Visual C# по умолчанию используются массивы, в которых индекс начинается с 0. Дополнительные сведения см. в разделах Массивы (Руководство по программированию на C#) и Обзор массивов в Visual Basic. |
Для обращения к элементу коллекции в объектной модели приложения Microsoft Office следует использовать индекс 1, а не 0. |
Для обращения к элементу коллекции в объектной модели приложения Microsoft Office следует использовать индекс 1, а не 0. |
Основные различия между разработкой решений Office и управляемым кодом
В следующей таблице показаны основные различия между разработке решений Office и управляемым кодом, написанным на Visual Basic или C#.
Функциональная возможность |
Описание |
Поддержка Visual Basic и Visual C# |
---|---|---|
Индексы массива |
В приложениях Microsoft Office нижняя граница коллекций начинается с 1. В Visual Basic и Visual C# используются массивы, в которых индекс начинается с 0. Дополнительные сведения см. в разделах Массивы (Руководство по программированию на C#) и Обзор массивов в Visual Basic. |
Для обращения к элементу коллекции в объектной модели приложения Microsoft Office следует использовать индекс 1, а не 0. |
См. также
Задачи
Практическое руководство. Обращение к приложениям Office с помощью основных сборок взаимодействия
Практическое руководство. Преобразование объектов, которые были возвращены приложениями Office.
Основные понятия
Написание кода в решениях Office
Общие сведения о необязательных параметрах в решениях Office