Neues bei Visual C#

Aktualisiert: Juli 2008

Neues in Visual C# 2008 Service Pack 1

Die Programmiersprache C#

Feature

Beschreibung

Verschiedene Compilerverbesserungen

Am C#-Compiler wurden zahlreiche Verbesserungen vorgenommen, um Inkonsistenzen mit der Sprachspezifikation zu beseitigen. Einige dieser Verbesserungen bilden grundlegende Änderungen, andere stellen jedoch nur Softwareupdates oder -erweiterungen dar. Weitere Informationen zu den grundlegenden Änderungen finden Sie unter Wichtige Änderungen in Visual C# 2008. Weitere Informationen zu den anderen Problemen, die in Service Pack 1 beseitigt wurden, finden Sie unter Liste Änderungen und behobener Probleme für Visual Studio 2008 Service Pack 1 Beta für Visual C# (maschinell übersetzt).

Visual C#-IDE

Feature

Beschreibung

Live Semantic Errors

In Visual C# 2008 Service Pack 1 wird das neue Feature Live Semantic Errors eingeführt, das umfassendere Information zum Code bereitstellt. Dieses Feature erkennt Fehler auf Ausdrucksebene, die zuvor nur nach dem Erstellen gemeldet wurden. Fehler werden beim Erstellen von Code mit roten gewellten Unterstreichungen hervorgehoben. Weitere Informationen zu gewellten Unterstreichungen finden Sie unter Bearbeiten von Code (Visual C#).

Debuggen von LINQ-Abfragen

Das Debuggen von LINQ-Abfragen wurde in Service Pack 1 stark verbessert.

  • Bereichsvariablen können nun im Überwachungsfenster und in den DataTips angezeigt werden, wenn Sie die einzelnen Zeilen eines Abfrageausdrucks durchlaufen.

  • Im Debugger werden anonyme Typnamen nicht mehr ausgeblendet, und diese können in Umwandlungen und Instanziierungen verwendet werden. Dies aktiviert temporäre Instanzen anonymer Typen, die während einer Debugsitzung erstellt werden sollen. Führt Umwandlungen in und aus ordnungsgemäß ausgewerteten anonymen Typen aus.

  • Die für Überwachung hinzufügen generierten Zeichenfolgen wurden verbessert und generieren Ausdrücke, die häufiger als in der ursprünglichen Releaseversion von Visual Studio 2008 ausgewertet werden können.

Weitere Informationen finden Sie auf der Microsoft-Website unter Sree's ventures in code space.

Kommentare zu Aufgabenlisten werden für alle Dateien in einer Projektmappe angezeigt

In früheren Versionen von Visual Studio wurde die Aufgabenliste nur mit Aufgabenkommentaren in geöffneten Dateien aufgefüllt. In Visual Studio 2008 Service Pack 1 werden in der integrierten Entwicklungsumgebung (Integrated Development Environment, IDE) für C# die Kommentare zu Aufgaben in allen geöffneten und geschlossenen Dateien der Lösung angezeigt. Weitere Informationen finden Sie unter Gewusst wie: Erstellen von Kommentaren zur Aufgabenliste.

Umbenennen von Umgestaltungen in Windows Presentation Foundation-Projekten

Visual Studio 2008 Service Pack 1 ermöglicht es Ihnen, das Umbenennungsfeature für Umgestaltungen zum Umbenennen von in XAML definierten Verweisen zu verwenden. Weitere Informationen zum Umbenennen von Umgestaltungen finden Sie unter Umbenennen.

LINQ

Feature

Beschreibung

Verbesserungen der [M:Enumerable.Cast`1]-Methode

In Visual C# 2008 Service Pack 1 wurde die Leistung der Enumerable.Cast<T>-Methode durch Deaktivierung der Konvertierung primitiver Werte und der expliziten Definition benutzerdefinierter Konvertierungen verbessert. Ein Beispiel für eine Konvertierung eines primitiven Werts ist die Konvertierung des int-Datentyps in den long-Datentyp.

Verbesserungen an der Leistung der [M:Enumerable.Where`1]-Methode und der [M:Enumerable.Select`1]-Methode

In Visual C# 2008 Service Pack 1 wurde die Leistung des Standardabfrageoperators Where und des Standardabfrageoperators Select verbessert.

Neues in der ursprünglichen Releaseversion von Visual C# 2008

C# 3.0-Programmiersprache

Die C# 3.0-Programmiersprache und der Compiler umfassen mehrere neue Sprachfeatures. Diese neuen Sprachkonstrukte sind einzeln in verschiedenen Kontexten und gemeinschaftlich zum Ausführen von Sprachintegrierte Abfrage (Language-Integrated Query, LINQ) nützlich. Weitere Informationen über LINQ finden Sie unter The LINQ Project.

In der folgenden Tabelle werden die neuen C# 3.0-Sprachfeatures aufgelistet:

Feature

Beschreibung

Implizit typisierte lokale Variablen und Arrays

Wenn das var-Schlüsselwort mit lokalen Variablen verwendet wird, weist es den Compiler an, den Typ der Variablen- oder Array-Elemente aus dem Ausdruck rechts neben der Initialisierungsanweisung abzuleiten.

Objektinitialisierer

Aktiviert die Objektinitialisierung ohne explizite Aufrufe eines Konstruktors.

Auflistungsinitialisierer

Aktiviert die Initialisierung von Auflistungen mit einer Initialisierungsliste anstatt spezifischer Aufrufe von Add oder einer anderen Methode.

Erweiterungsmethoden

Erweitern Sie vorhandene Klassen, indem Sie statische Methoden verwenden, die durch den Einsatz der Instanzmethodensyntax aufgerufen werden können.

Anonyme Typen

Aktiviert die unmittelbare Erstellung unbenannter strukturierter Typen, die der Auflistung hinzugefügt werden können und auf die Sie mit var zugreifen können.

Lambda-Ausdrücke

Aktiviert Inlineausdrücke mit Eingabeparametern, die an Delegate oder Ausdrucksbaumstrukturen gebunden sein können. Siehe auch Anonyme Funktionen (C#-Programmierhandbuch).

Schlüsselwörter für Abfragen

Schlüsselwörter, die Klauseln in einem Abfrageausdruck angeben:

  • from-Klausel(n)

  • where-Klausel (optional)

  • Sortierklauseln (optional)

  • join-Klausel (optional)

  • select-Klausel oder group-Klausel

  • into-Klausel (optional)

Automatisch implementierte Eigenschaften

Aktiviert die Deklaration von Eigenschaften durch das Verwenden einer vereinfachten Syntax.

Partielle Methoden

Partielle Typen können nun partielle Methoden enthalten.

C# 3.0-Compiler

  • /win32Manifest-Compilerschalter und /noWin32Manifest-Compilerschalter.
    Diese neuen Compilerschalter werden verwendet, um angeforderte Ausführungsebenen für Programme anzugeben, die auf Windows Vista ausgeführt werden.

Visual C#-IDE

Feature

Beschreibung

Für mehrere Zielversionen

Mit Visual Studio 2008 können Sie eine Version von .NET Framework für Ihr Projekt angeben, .NET Framework 2.0, 3.0 oder 3.5. Das .NET Framework-Ziel einer Anwendung ist die .NET Framework-Version, die auf einem Computer installiert sein muss, um die Anwendung auf diesem Computer auszuführen. Weitere Informationen finden Sie unter Festlegen eines bestimmten .NET Framework als Ziel.

Neue Projekttypen und -vorlagen

Es werden mehrere neue Projektvorlagen für Windows Presentation Foundation, Windows Communication Foundation und Webprojekte bereitgestellt. Weitere Informationen finden Sie unter Projektvorlagen in Versionen von Visual C# und unter Standardprojektvorlagen in Visual Studio.

IntelliSense-Unterstützung für C# 3.0

Der Visual C#-Code-Editor ermöglicht die Anweisungsvervollständigung und bietet QuickInfos, um die folgenden neuen Sprachekonstrukte in C# 3.0 zu unterstützen:

  • Implizit typisierte lokale Variablen

  • Abfrageausdrücke

  • Erweiterungsmethoden

  • Objekt-/Auflistungsinitialisierer

  • Anonyme Typen

  • Lambda-Ausdrücke

  • Partielle Methoden

Weitere Informationen finden Sie unter Visual C#-IntelliSense.

Umgestaltungsunterstützung für C# 3.0

Die Umgestaltungsfeatures Umbenennen, Signaturänderung, Methode extrahieren und Lokal heraufstufen wurden aktualisiert, sodass sie die folgenden neuen Sprachkonstrukte unterstützen:

  • Abfrageausdrücke

  • Erweiterungsmethoden

  • Lambda-Ausdrücke

Darüber hinaus stellt die Umgestaltung neue Optionen und Warnungen bereit, um unbeabsichtigte Folgen aufgrund einer Umgestaltungsaktion zu verhindern. Weitere Informationen finden Sie unter Umgestaltung.

Codeformatierung

Der Code-Editor unterstützt Formatierungsoptionen für mehrere neue C# 3.0-Sprachkonstrukte, darunter auch Abfrageausdrücke. Weitere Informationen finden Sie unter Formatierung, C#, Text-Editor, Dialogfeld "Optionen".

Organisieren mit Anweisungen

Mit dem Visual C#-Code-Editor können Sie mühelos die nicht verwendete using-Deklaration und die extern-Deklaration sortieren und entfernen.

Siehe auch

Weitere Ressourcen

Sprachintegrierte Abfrage (Language-Integrated Query, LINQ)

Wird C# eine funktionelle Programmiersprache?

Neue Bibliotheksklassen in .NET Framework 3.5

Änderungsprotokoll

Datum

Versionsgeschichte

Grund

Juli 2008

Abschnitt zu Visual C# 2008 Service Pack 1 hinzugefügt.

SP1-Featureänderung.