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

KI-gestütztes Programmieren bringt IT-Herausforderungen mit sich

OutSystems-Studie: 62 Prozent der Befragten haben Sicherheits- und Governance-Bedenken bei Softwareentwicklung mit KI-Unterstützung.

1 Tag ago

Studie: Ein Drittel aller E-Mails an Unternehmen sind unerwünscht

Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…

4 Tagen ago

HubPhish: Phishing-Kampagne zielt auf europäische Unternehmen

Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…

5 Tagen ago

1. Januar 2025: Umstieg auf E-Rechnung im B2B-Geschäftsverkehr

Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.

5 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…

5 Tagen ago

Erreichbarkeit im Weihnachtsurlaub weiterhin hoch

Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…

6 Tagen ago