Connect with us

Entwicklung & Code

Neu in .NET 10.0 [4]: Neue Operatorüberladungen in C# 14.0


close notice

This article is also available in
English.

It was translated with technical assistance and editorially reviewed before publication.

Operatorüberladungen beherrscht die Programmiersprache C# seit ihrer ersten Version aus dem Jahr 2002 mit dem Schlüsselwort operator.

Weiterlesen nach der Anzeige


Der Dotnet-Doktor – Holger Schwichtenberg

Der Dotnet-Doktor – Holger Schwichtenberg

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.

In C# 14.0 hat Microsoft dabei nun eine Verbesserungsmöglichkeit entdeckt: Entwicklerinnen und Entwickler können jetzt für die zusammengesetzten/verkürzten Zuweisungsoperatoren (engl. Compound Assignment Operators) +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>= und >>>= eigene Operatorimplementierungen definieren.

Bisher wurden hier immer die Operatorimplementierungen des Basisoperators (also + bei +=, – bei -=, & bei &= usw.) aufgerufen. Das passiert auch weiterhin, aber nur, wenn es keine eigene Operatorimplementierung für den Compound Assignment Operator gibt.

Das erlaubt mehr Kontrolle über die Speichernutzung: Bei den zusammengesetzten/verkürzten Zuweisungsoperatoren kann man die Operation zwischen zwei Objekten so implementieren, dass kein neues Objekt erzeugt wird, sondern ein bestehendes Objekt weiterverwendet wird.

Die Compound Assignment Operators sind (anders als andere Operatoren) nicht static und geben void zurück, da sie das Objekt selbst manipulieren.

Folgender Codeausschnitt verwendet die User Defined Compound Assignment Operators:

Weiterlesen nach der Anzeige


namespace NET10_Console;

/// 
/// Klasse mit Operatorüberladung für +, ++ und +=
/// 
public class Kontostand
{
 public string IBAN { get; set; }
 public decimal Betrag { get; set; }

 public Kontostand(string iBAN, decimal betrag)
 {
  Betrag = betrag;
  IBAN = iBAN;
 }

 // ALT: Operatorüberladung für +
 public static Kontostand operator +(Kontostand a, Kontostand b)
 {
  if (a == null || b == null)
   throw new ArgumentNullException();

  return new Kontostand(a.IBAN, a.Betrag + b.Betrag);
 }

 // NEU: Operatorüberladung für ++ 
 public void operator ++()
 {
  this.Betrag += 1;
 }

 // NEU: Operatorüberladung für += 
 public void operator +=(decimal b)
 {
  this.Betrag += b;
 }

 public override string ToString()
 {
  return $"Konto {IBAN}: {Betrag:c}"; // formatiert als Währung



(rme)



Source link

Entwicklung & Code

Warum Microsoft auf Anthropic setzt: Tausende Mitarbeiter testen Claude Code


Wenn ein Bäcker regelmäßig eine große Tüte Brötchen des Mitbewerbers einkauft, betreibt er entweder intensive Marktbeobachtung – oder sieht seine Bedürfnisse von seinem eigenen Produkt nicht vollständig abgedeckt. Ähnliche Fragen stellen sich Beobachter mit Blick auf Microsoft. Nach Informationen des US-Tech-Portals The Verge setzt der Software-Riese verstärkt auf das KI-Entwicklungs-Tool Claude Code von seinem Mitbewerber Anthropic. Vornehmlich zum Vergleich, wie es heißt. Doch die Intensität des Tests ist dennoch ungewöhnlich.

Weiterlesen nach der Anzeige

Laut The Verge nutzen mehrere tausend Mitarbeiter aus verschiedenen Entwicklerteams Claude Code. Beim CoreAI-Team sollen die Tests schon seit Monaten laufen. Inzwischen sei auch die „Experiences + Devices Division“ aufgefordert worden, Claude Code zu installieren. Dieses Team betreut die für Microsoft wichtigen Produkte Windows, Microsoft 365, Outlook, Teams, Bing, Edge und Surface.

Microsofts Werkzeugauswahl überrascht deshalb, weil das Unternehmen mit dem GitHub Copilot doch über ein eigenes Tool verfügt. Die in Zusammenarbeit mit OpenAI entwickelte Software sei auch weiterhin das primäre KI-Coding-Tool, betont Microsoft.

Dennoch scheint Microsoft auch ein Faible für das Konkurrenzprodukt entwickelt zu haben. Während die Software-Ingenieure beide Tools nutzen und vergleichen sollen, werden Designer und Projektmanager ohne Programmier-Erfahrung dazu ermuntert, damit zu experimentieren, etwa um Prototypen auf den Weg zu bringen. Laut dem Bericht sei aber auch ein möglicher späterer Vertrieb von Claude Code an Azure-Kunden denkbar.

Weiterlesen nach der Anzeige

Das Fachmagazin The Information zählt Microsoft zu den Top-Kunden von Anthropic. Beide Unternehmen hätten eine besondere Vereinbarung geschlossen, die Anthropic dazu verpflichte, im Umfang von 30 Milliarden US-Dollar Rechenkapazitäten von Microsofts Cloud Azure zu nutzen. Microsoft rechne umgekehrt die Kosten für die eigene Nutzung der Anthropic-Modelle auf die Verkaufsquoten für Anthropics Azure-Nutzung an. Das sei ungewöhnlich, da normalerweise nur eigene Produkte und die aus der Partnerschaft mit OpenAI auf diese Weise gefördert würden.


(mki)



Source link

Weiterlesen

Entwicklung & Code

Google stellt kostenlosen Web-Suchindex für Entwickler ein


Google hat angekündigt, den kostenlosen Zugriff auf seinen vollständigen Suchindex für Entwickler einzustellen. Neue Programmable Search Engines können ab sofort nur noch maximal 50 Domains durchsuchen. Die bisher verfügbare Option „Search the entire web“ steht für neue Engines nicht mehr zur Verfügung.

Weiterlesen nach der Anzeige

Betreiber bestehender Suchmaschinen, die mehr als 50 Domains indexieren oder den vollständigen Web-Index nutzen, müssen bis zum 1. Januar 2027 auf eine Alternative umsteigen. Google begründet den Schritt in der Ankündigung mit einer „Evolution zu fokussierten, leistungsfähigeren Lösungen“, die eine bessere Nutzererfahrung bieten sollen.

Als Ersatz für den kostenlosen Vollzugriff verweist Google auf Vertex AI Search, einen Cloud-basierten Enterprise-Dienst mit KI-gestützten Features wie konversationeller Suche und Grounding (Verankerung von KI-Antworten in verifizierbaren Datenquellen). Wer weiterhin den vollständigen Google-Index nutzen möchte, muss ein Formular ausfüllen und auf ein individuelles Preisangebot warten. Öffentliche Preise existieren nicht, frühere Paid-API-Angebote kosteten rund 5 US-Dollar pro 1000 Anfragen.

Die Custom Search JSON API wird ebenfalls eingestellt. Nutzer müssen ihre Implementierungen bis zur Frist auf Vertex AI oder den neuen Enterprise-Full-Web-Dienst portieren. Das kostenlose „Sites to search“-Feature für maximal 50 Domains bleibt erhalten und ist laut Google optimal für fokussierte, seitenspezifische Suchergebnisse gedacht.

Die Änderungen treffen besonders Entwickler von Nischensuchmaschinen, Bildungseinrichtungen und Non-Profit-Organisationen. Viele WordPress-Plugins und Drupal-Module, die auf Googles Programmable Search Engine basieren, müssen umgebaut oder eingestellt werden.

Weiterlesen nach der Anzeige

Als Alternativen bietet sich selbst gehostete Software wie Meilisearch, Typesense oder Elasticsearch an. Für Web-Index-basierte Anwendungen könnten Dienste wie Common Crawl (ein offenes Web-Archiv) in Kombination mit eigenen Modellen zum Einsatz kommen. Allerdings erreichen diese Alternativen nicht die Aktualität und Vollständigkeit des Google-Index.

Die Einschränkungen könnten in der EU kartellrechtliche Fragen aufwerfen. Als Gatekeeper im Sinne des Digital Markets Act kontrolliert Alphabet mit der Google-Suche den Zugang zu einem wesentlichen Infrastrukturelement des Internets. Offen ist, ob die Abschaffung des kostenlosen Zugriffs bei gleichzeitiger Einführung kostenpflichtiger Alternativen als wettbewerbswidrig interpretiert wird.

Google argumentiert hingegen, die Vereinfachung seines Produktportfolios diene der Qualität: „Wir vereinfachen und modernisieren unser Angebot, damit Sie das beste Werkzeug für Ihre Ziele auswählen können“, heißt es im Blogpost.


(fo)



Source link

Weiterlesen

Entwicklung & Code

Neu in .NET 10.0 [7]: Semi-Auto Properties in C# 14.0


Im Dokument „What’s new in C# 14“ beschreibt Microsoft das Schlüsselwort field, mit dem man sogenannte Semi-Auto Properties erstellen kann.

Weiterlesen nach der Anzeige


Der Dotnet-Doktor – Holger Schwichtenberg

Der Dotnet-Doktor – Holger Schwichtenberg

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.

Dieses Sprachfeature gibt es allerdings bereits in der stabilen Version von .NET 9.0 – darin aber im Status „Preview“. Das heißt, dass man dafür preview setzen musste. Die Erwähnung in „What’s new in C# 14“ legt die Vermutung nahe, dass das Sprachfeature in C# 14.0 schließlich als stabil gelten wird.

Folgender Code zeigt eine Semi-Auto Property mit dem Schlüsselwort field, das automatisch ein Field für die Property anlegt:


 /// 
 /// Semi-Auto Property
 /// 
 public int ID
 {
  get;
  set // init wäre hier auch erlaubt!
  {
   if (value < 0) throw new ArgumentOutOfRangeException();
   if (field > 0) throw new ApplicationException("ID schon gesetzt");
   field = value;
  }
 } = -1;


Falls es in (älterem) Programmcode bereits ein Datenmitglied mit Namen field gibt, warnt der Compiler, dass dieses nun nicht mehr verwendet wird. Das stellt gegebenenfalls einen Breaking Change dar, wenn beispielsweise eine Serialisierung für das Datenmitglied field existiert. Entwicklerinnen und Entwickler können aber die Verwendung des alten Datenmitglieds erzwingen, indem sie @field oder this.field im Programmcode schreiben.


Codeausschnitt

Codeausschnitt

In diesem Codeausschnitt ist field doppeldeutig.


(rme)



Source link

Weiterlesen

Beliebt