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

Black Friday: Vorsicht vor schädlichen QR-Codes

Bösartige QR-Codes, die per E-Mail versendet werden, eignen sich sehr gut, um Spam-Filter zu umgehen.

1 Tag ago

Black Friday: Zahl der ominösen Shopping-Websites steigt

Unsichere Websites und Phishing-Mails in Verbindung mit Black Friday können kauffreudigen Konsumenten zum Verhängnis werden.

1 Tag ago

SmokeBuster bekämpft SmokeLoader

Malware SmokeLoader wird weiterhin von Bedrohungsakteuren genutzt, um Payloads über neue C2-Infrastrukturen zu verbreiten.

1 Tag ago

Taugen Kryptowährungen als Unterstützer der Energiewende?

Bankhaus Metzler und Telekom-Tochter MMS testen, inwieweit Bitcoin-Miner das deutsche Stromnetz stabilisieren könnten.

2 Tagen ago

Supercomputer-Ranking: El Capitan überholt Frontier und Aurora

Mit 1,7 Exaflops ist El Capitan nun der dritte Exascale-Supercomputer weltweit. Deutschland stellt erneut den…

2 Tagen ago

Ionos führt neue AMD-Prozessoren ein

Der deutsche Hyperscaler erweitert sein Server-Portfolio um vier Angebote mit den neuen AMD EPYC 4004…

2 Tagen ago