Поделиться через


Сравнение программирования на 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