Version 3.0 von C#: Das sind die fünf wichtigsten Änderungen

Microsoft plant die Veröffentlichung von C# 3.0 zeitgleich mit Visual Studio 2007 im vierten Quartal 2007. ZDNet stellt für Entwickler, die nach flexibleren Lösungen suchen, jetzt schon die fünf wichtigsten Änderungen vor.

1. Implizit typisierte lokale Variablen

C# 3.0 führt ein neues Schlüsselwort namens „var“ ein. Dieses Schlüsselwort erlaubt dem Entwickler das Deklarieren einer Variablen, ohne ausdrücklich deren Typ angeben zu müssen. Mithilfe des Schlüsselwortes var könnte man einen String etwa wie folgt instantiieren:

var myData = "Hier meine Daten";

Es keinen Hinweis darauf gibt, dass es sich bei der Variablen myData um einen String handelt, eine Angabe, die in C# 2.0 noch erforderlich gewesen wäre.

Auch wenn var die implizite Typdeklaration erlaubt, ist damit keine Abkehr von der starken Typisierung von C# verbunden. Das Schlüsselwort var funktioniert nur bei der Deklaration der Variablen. Sobald die Variable deklariert ist, wird auf ihren Typ geschlossen und dieser entsprechend zugewiesen. Der Typ einer mit var deklarierten Variablen kann an späterer Stelle im Code nicht mehr geändert werden.

Dieser Code zum Beispiel funktioniert nicht:

var myDate = DateTime.Now;
myDate = "Hallo.";

Ein interessantes Ergebnis des var-Schlüsselwortes ist, dass Entwickler keine redundanten Angaben zum Typ mehr machen müssen. Um zum Beispiel in C# 2.0 ein Customer-Objekt zu deklarieren, müsste man folgenden Code verwenden:

Customer myCustomer = new Customer();

Mit dem neuen Schlüsselwort var wird hieraus:

var myCustomer = new Customer();

Eine weitere interessante Funktion des var-Schlüsselwortes besteht darin, dass man Aufrufe einer Methode, die ein bestimmtes Objekt zurückgibt, nicht mehr ändern muss. Soll zum Beispiel in C# 2.0 eine Methode aufgerufen werden, die ein Customer-Objekt zurückgibt, muss Folgendes geschrieben werden:

Customer myCustomer = GetByName("Zach");

Sollte die Methode GetByName irgendwann geändert werden, so dass sie etwas anderes als ein Customer-Objekt zurückgibt, ließe sich dieser Code nicht mehr kompilieren. Bei Verwendung des Schlüsselwortes var braucht man sich über den Typ des von GetByName zurückgegebenen Objekts keine Gedanken mehr zu machen:

var myData = GetByName("Zach");

Jetzt könnte die Methode GetByName geändert werden und zum Beispiel ein Person-Objekt zurückgeben, aber der Methodenaufruf wäre wegen der Verwendung von var immer noch gültig.

Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

Chrome 129 stopft schwerwiegende Sicherheitslöcher

Hacker können aus der Ferne Schadcode einschleusen und ausführen. Betroffen sind Chrome für Windows, macOS…

5 Stunden ago

Sicherheitslücken bei Verivox und Check24 geben Kundendaten preis

Das Datenleck betrifft den Kreditvergleich. Unbefugte haben zwischenzeitlich Zugriff auf die Kreditvergleiche anderer Kunden.

12 Stunden ago

Copilot Wave 2: Microsoft kündigt neue KI-Funktionen an

Copilot wird stärker in Microsoft 365 integriert. Neue Funktionen stehen unter anderem für Excel, Outlook,…

19 Stunden ago

Kritische RCE-Schwachstelle in Google Cloud Platform

Schwachstelle weist laut Tenable auf schwerwiegende Sicherheitslücke in Google Cloud Diensten hin, insbesondere App Engine,…

1 Tag ago

Microsoft macht Office LTSC 2024 allgemein verfügbar

Die neue Version kommt mit einem Supportzeitraum von fünf Jahren. Währenddessen erhält Office LTSC 2024…

1 Tag ago

iOS 18 schließt 33 Sicherheitslücken

Sie führen unter Umständen zur Preisgabe vertraulicher Informationen oder gar zu einem Systemabsturz. Apples KI-Dienste…

1 Tag ago