Entwicklung & Code

Neu in .NET 10.0 [11]: Vereinfachungen bei Lambda-Ausdrücken in C# 14.0


In Lambda-Ausdrücken kann man in C# 14.0 jetzt Parameter-Modifizierer wie scoped, ref, in, out und ref readonly verwenden, ohne dabei den Datentyp benennen zu müssen.

Weiterlesen nach der Anzeige




Dr. Holger Schwichtenberg ist technischer Leiter des Expertennetzwerks www.IT-Visions.de, das mit 53 renommierten Experten zahlreiche mittlere und große Unternehmen durch Beratungen und Schulungen sowie bei der Softwareentwicklung unterstützt. Durch seine Auftritte auf zahlreichen nationalen und internationalen Fachkonferenzen sowie mehr als 90 Fachbücher und mehr als 1500 Fachartikel gehört Holger Schwichtenberg zu den bekanntesten Experten für .NET und Webtechniken in Deutschland.

Ein Beispiel: Für den Delegate


delegate bool Extract(string text, out T result);


musste man vor C# 14.0 Folgendes schreiben:


Extract ExtractOld = (string text, out int result) 
  => Int32.TryParse(text, out result);


Weiterlesen nach der Anzeige

Ab C# 14.0 können Entwicklerinnen und Entwickler im Lambda-Ausdruck die Nennung der Datentypen string und int weglassen, weil diese Datentypen aus dem Kontext bereits klar sind:


Extract ExtractNew = (text, out result) 
  => Int32.TryParse(text, out result);


Das geht allerdings nicht, wenn ein variadischer Parameter mit params zum Einsatz kommt:


Add AddOld = (out int result, params List data) 
  => { result = data.Sum(); return true; };


Nicht möglich ist also folgende Verkürzung:


Add AddNew = (out result, params data) 
  => { result = data.Sum(); return true; };



(rme)



Source link

Beliebt

Die mobile Version verlassen