Condividi tramite


Novità di Visual C# Express

Aggiornamento: novembre 2007

Questo argomento contiene informazioni su funzionalità e miglioramenti nuovi in Visual C# 2008 Express Edition.

Supporto per dati

In Visual C# Express Edition sono state introdotte alcune nuove funzionalità per lo sviluppo di applicazioni che richiedono l'accesso ai dati.

LINQ (Language-Integrated Query)

LINQ (Language-Integrated Query) è un nuovo insieme di funzionalità che consente alle applicazioni di eseguire query sui dati in Visual C# Express Edition. LINQ introduce standard, modelli di facile apprendimento per l'esecuzione di query e la trasformazione dei dati e può essere esteso per supportare qualsiasi tipo di origine dati. Visual C# Express Edition include assembly del provider LINQ che consentono di utilizzare LINQ con insiemi di .NET Framework, database SQL, DataSet ADO.NET e documenti XML.

Per ulteriori informazioni, vedere Utilizzo di LINQ in C# e LINQ (Language-Integrated Query).

Progettazione relazionale oggetti

Object Relational Designer (O/R Designer) assiste gli sviluppatori nelle operazioni di creazione e modifica delle classi LINQ to SQL che eseguono il mapping tra un'applicazione e un database. O/R Designer viene utilizzato per creare classi che eseguono il mapping agli oggetti di database a cui è possibile accedere ed eseguire una query nel codice. Per ulteriori informazioni, vedere Creazione di classi LINQ to SQL mediante Progettazione relazionale oggetti, Cenni preliminari su Progettazione relazionale oggetti e LINQ to SQL.

Nota

O/R Designer non supporta database di SQL Server Compact 3.5. È tuttavia possibile utilizzare database di SQL Server Compact 3.5, ma non con la finestra di progettazione. Al contrario è possibile utilizzare SQL Server Express con la finestra di progettazione. Per informazioni su come ottenere SQL Server Express Edition, vedere la sezione relativa a come ottenere SQL Server Express Edition in Procedura: installare database di esempio.

Microsoft SQL Server Compact 3.5

Microsoft SQL Server Compact 3.5 è un database compatto che consente di utilizzare dati locali in applicazioni create utilizzando Visual C# Express Edition. È possibile connettersi facilmente ai dati in un database di SQL Server Compact 3.5 e associare i dati ai controlli in un'applicazione Windows Form o un'applicazione di Windows Presentation Foundation. Per ulteriori informazioni, vedere Connessione ai dati (Visual C#), Utilizzo di SQL Server Compact 3.5 (Visual Studio) e Procedura: aggiungere un database di SQL Server Compact 3.5 a un progetto.

Funzionalità del linguaggio

Sono presenti alcune nuove funzionalità relative al linguaggio nel linguaggio e nel compilatore C# 3.0. Molte di queste funzionalità sono rese disponibili per supportare LINQ (Language-Integrated Query). Per ulteriori informazioni su LINQ, vedere The LINQ Project (informazioni in lingua inglese).

Variabili locali tipizzate in modo implicito

Anziché specificare in modo esplicito il tipo di una variabile locale, la parola chiave var indica al compilatore di dedurre il tipo di una variabile in base al valore assegnato in fase di inizializzazione. Nel codice seguente la variabile è dichiarata in modo esplicito:

int totalCards = 52;

Utilizzando l'inferenza del tipo di variabile locale, è possibile dichiarare la variabile senza specificarne il tipo, come dimostra il codice seguente:

var totalCards = 52;

Anche se non si specifica il tipo, questo viene determinato quando si scrive il codice, in fase di progettazione (associazione anticipata) anziché in fase di esecuzione (associazione tardiva). Questo comportamento è dovuto al fatto che il tipo è derivato dal valore assegnato. In entrambi casi totalCards è fortemente tipizzato come Integer. Per ulteriori informazioni, vedere Variabili locali tipizzate in modo implicito (Guida per programmatori C#).

Inizializzatori di oggetto

Gli inizializzatori di oggetto consentono l'inizializzazione di un oggetto senza una chiamata esplicita a un costruttore. Ad esempio, è possibile creare un'istanza di un oggetto Address e specificare le proprietà nella stessa dichiarazione, come dimostra il codice seguente:

Address homeAddress = new Address {Street = "123 Main",
    City ="Kirkland", State="WA", PostalCode ="18033"};

Per ulteriori informazioni, vedere Inizializzatori di oggetto e di insieme (Guida per programmatori C#).

Inizializzatori di insieme

Gli inizializzatori di insieme consentono l'inizializzazione di un insieme utilizzando un elenco anziché effettuando più chiamate esplicite al metodo Add dell'insieme. Ad esempio, è possibile aggiungere più elementi a un insieme in una sola riga, come dimostra il codice seguente:

List<int> years = new List<int> { 2005, 2006, 2007 };

Per ulteriori informazioni, vedere Inizializzatori di oggetto e di insieme (Guida per programmatori C#).

Metodi di estensione

I metodi estensione consentono di estendere classi esistenti. Ad esempio, è possibile aggiungere funzionalità personalizzate a un tipo di dati esistente quale String. Per ulteriori informazioni, vedere Metodi di estensione (Guida per programmatori C#).

Tipi anonimi

La funzionalità dei tipi anonimi consente di creare un oggetto senza definirne in modo esplicito il tipo. Il compilatore definisce invece il tipo dei dati in base alle proprietà specificate al momento della creazione dell'oggetto. Poiché questi sono tipi nuovi definiti dal compilatore, non hanno nomi e pertanto sono conosciuti come tipi anonimi.

var homeAddress = new {Street = "123 Main", City = "Kirkland",
    State = "WA", PostalCode = "18033"};

Per ulteriori informazioni, vedere Tipi anonimi (Guida per programmatori C#).

Espressioni lambda

Le espressioni lambda sono espressioni inline con parametri di input che possono essere utilizzati dove è previsto un tipo delegato. Le espressioni lambda sono utilizzate ampiamente nelle query LINQ che chiamano direttamente determinati metodi dell'operatore di query standard. Per ulteriori informazioni, vedere Espressioni lambda (Guida per programmatori C#).

Parole chiave di query

Sono disponibili diverse parole chiave, ad esempio select, from, where e intoche possono essere utilizzate nelle espressioni di query. Queste parole chiave di query consentono di specificare un database, indicare una colonna nel database e filtrare dati, quindi raggruppare i risultati. Per ulteriori informazioni, vedere Parole chiave di query (Riferimenti per C#).

Proprietà implementate automaticamente

Le proprietà implementate automaticamente forniscono una sintassi semplificata per la dichiarazione di proprietà. Per le proprietà implementate automaticamente devono essere dichiarate una funzione di accesso get e una funzione di accesso set. Per ulteriori informazioni, vedere Proprietà implementate automaticamente (Guida per programmatori C#).

Definizioni di metodi parziali

Classi o strutture parziali ora possono contenere metodi parziali. Una dichiarazione di metodo parziale deve essere costituita dalla definizione del metodo e dell'implementazione. Per ulteriori informazioni, vedere Classi e metodi parziali (Guida per programmatori C#).

Supporto per Progettazione progetti per le applicazioni di Windows Presentation Foundation (WPF)

Le applicazioni di Windows Presentation Foundation (WPF) sono state aggiunte a Visual C# Express Edition. Sono disponibili due tipi di progetti WPF:

  • Applicazione Windows WPF (.xaml, .exe)

  • Applicazione browser WPF (.exe, .xbap

Quando un progetto WPF viene caricato nell'IDE, l'interfaccia utente delle pagine di Progettazione progetti fornisce l'accesso ai controlli WPF disponibili e alle proprietà specifici delle applicazioni WPF. Per ulteriori informazioni, vedere Creazione di applicazioni WPF.

Utilizzo dei servizi WCF

Windows Communication Foundation (WCF) è un nuovo modello di programmazione orientato ai servizi che semplifica lo sviluppo di applicazioni connesse. Le applicazioni create utilizzando Visual C# Express Edition possono comunicare con (utilizzare) i servizi di Windows Communication Foundation (WCF) esistenti. Per ulteriori informazioni, vedere Utilizzo di un servizio WCF.

Distribuzione ClickOnce

La distribuzione ClickOnce è stata migliorata per supportare la distribuzione di applicazioni browser WPF. Le applicazioni browser WPF sono ospitate in un browser, pertanto richiedono speciali impostazioni di distribuzione e di sicurezza. Quando queste applicazioni vengono compilate e distribuite, Visual Studio fornisce l'interfaccia utente e i valori predefiniti appropriati.

Per ulteriori informazioni, vedere Novità relative alla distribuzione.

Vedere anche

Altre risorse

Guida introduttiva a Visual C# Express

Presentazione guidata di Visual C#