Confronto tra programmazione Visual Basic e programmazione C#

Aggiornamento: novembre 2007

È possibile creare soluzioni Visual Studio Tools per Office utilizzando Visual Basic o C#. Poiché i modelli a oggetti di Microsoft Office sono stati progettati per l'utilizzo con Microsoft Visual Basic, Applications Edition (VBA), gli sviluppatori di Visual Basic possono utilizzare agevolmente gli oggetti esposti dalle applicazioni di Microsoft Office. Gli sviluppatori che utilizzano C# non dispongono degli stessi collegamenti quando lavorano con il modello a oggetti di Microsoft Office. Esistono inoltre alcune differenze tra le funzionalità di programmazione di base utilizzate nello sviluppo di soluzioni Office e il codice gestito scritto in Visual Basic e C#.

Differenze principali tra Visual Basic e C#

Nella tabella seguente sono illustrate le differenze principali fra Visual Basic e C# nello sviluppo di soluzioni Office.

Funzionalità

Descrizione

Supporto in Visual Basic

Supporto in C#

Parametri facoltativi

Molti metodi di Microsoft Office hanno parametri che non sono richiesti quando si chiama il metodo. Se per il parametro non viene passato alcun valore, verrà utilizzato un valore predefinito.

Visual Basic supporta i parametri facoltativi.

I parametri facoltativi non sono supportati in C#. Invece, è necessario passare un valore per tutti i parametri. Per ulteriori informazioni, vedere Informazioni sui parametri facoltativi nelle soluzioni Office.

Passaggio di parametri per riferimento

I parametri facoltativi nella maggior parte degli assembly di interoperabilità primari di Microsoft Office possono essere passati per valore. Tuttavia, in alcuni assembly di interoperabilità primari i parametri facoltativi che accettano i tipi di riferimento devono essere passati per riferimento.

Per ulteriori informazioni sui parametri di tipo valore e riferimento, vedere Passaggio di argomenti per valore e per riferimento (per Visual Basic) e Passaggio di parametri (Guida per programmatori C#).

Non è richiesta alcuna attività aggiuntiva per il passaggio di parametri in base al riferimento. Il compilatore di Visual Basic passa automaticamente i parametri per riferimento quando necessario.

I parametri facoltativi che accettano i tipi di riferimento in alcuni assembly di interoperabilità primari (ad esempio l'assembly di interoperabilità primario per Word) devono essere passati utilizzando la parola chiave ref ed è necessario passare una variabile che contiene il valore effettivo.

Proprietà con parametri

Alcune proprietà accettano parametri e fungono da funzioni di sola lettura.

Visual Basic supporta le proprietà che accettano parametri.

C# richiede l'utilizzo delle funzioni di accesso get e set per l'impostazione e il recupero dei valori di proprietà che accettano parametri.

Associazione tardiva

L'associazione tardiva comporta la determinazione delle proprietà degli oggetti in fase di esecuzione, anziché eseguire il cast delle variabili al tipo di oggetto in fase di progettazione.

Visual Basic può eseguire l'associazione tardiva quando l'istruzione Option Strict è impostata su Off. Per ulteriori informazioni, vedere Istruzione Option Strict.

C# non esegue direttamente l'associazione tardiva. Tuttavia, è possibile utilizzare i tipi nello spazio dei nomi System.Reflection per determinare i membri disponibili di un tipo specificato ed eseguire un tipo di associazione tardiva.

Indici di matrice

Nelle applicazioni di Microsoft Office, il limite inferiore di matrice relativo agli insiemi è 1. In Visual Basic e Visual C#, invece, per impostazione predefinita tale limite è 0. Per ulteriori informazioni, vedere°Matrici (Guida per programmatori C#) e Cenni preliminari sulle matrici in Visual Basic.

Per accedere al primo elemento di un insieme del modello a oggetti di un'applicazione di Microsoft Office, utilizzare l'indice 1 anziché 0.

Per accedere al primo elemento di un insieme del modello a oggetti di un'applicazione di Microsoft Office, utilizzare l'indice 1 anziché 0.

Differenze principali tra lo sviluppo di soluzioni di Office e il codice gestito

Nella tabella seguente sono illustrate le differenze principali fra lo sviluppo di soluzioni di Office e il codice gestito scritto in Visual Basic e C#.

Feature

Descrizione

Supporto di Visual Basic e C#

Indici di matrice

Nelle applicazioni di Microsoft Office, il limite inferiore di matrice relativo agli insiemi è 1. In Visual Basic e Visual C#, invece, tale limite è 0. Per ulteriori informazioni, vedere°Matrici (Guida per programmatori C#) e Cenni preliminari sulle matrici in Visual Basic.

Per accedere al primo elemento di un insieme del modello a oggetti di un'applicazione di Microsoft Office, utilizzare l'indice 1 anziché 0.

Vedere anche

Attività

Procedura: sviluppare applicazioni di Office mediante gli assembly di interoperabilità primari

Procedura: eseguire il cast di oggetti restituiti dalle applicazioni di Office

Concetti

Scrittura di codice nelle soluzioni Office

Informazioni sui parametri facoltativi nelle soluzioni Office