Microsoft .NET

C# ist eine moderne, objektorientierte Programmiersprache, die von Microsoft entwickelt wurde. Sie wurde erstmals 2002 als Teil des .NET-Frameworks eingeführt. C# ist eine einfache, leistungsstarke und typsichere Programmiersprache, die verwendet wird, um Desktop-, Web-, Spiele- und mobile Anwendungen zu erstellen. Sie unterstützt sowohl statische als auch dynamische Typisierung und ist äusserst vielseitig und kontinuierlich in der Weiterentwicklung. Daher sollte ein .NET/C#-Entwickler immer auf dem neuesten Stand der Änderungen bleiben.

Hier ist eine Liste der ersten 10 besten C# Features, die Sie kennen sollten:

Eingeführt in C# 2.0. Ermöglicht die Erstellung typsicherer Datenstrukturen in C#. Bietet generische Sammlungsklassen im Namespace System.Collections.Generic.

Beispiel:

”’

List<int> numbers = new List<int>();

numbers.Add(1); // Strictly for integers

”’

Eingeführt in C# 2.0. Erlaubt die Aufteilung einer Klassendefinition auf mehrere Dateiern mithilfe des Schlüsselworts partial.

Beispiel: 

”’

// In File1.cs

public partial class MyClass { void Method1() {} }

// In File2.cs

public partial class MyClass { void Method2() {} }

”’

Eingeführt in C# 3.0. Ermöglicht Abfragen verschiedener Datenquellen wie C#-Sammlungen, SQL und XML mithilfe einer gemeinsamen Abfragesyntax.

Beispiel:

”’

// Query C# Collection 

var numbers = new List<int> { 1, 2, 3, 4, 5 };

var evenNumbers = numbers.Where(n => n% 2 == 0);

// Query SQL DB

var data = _db.Products.Select(p=>p.IsActive=true);

”’

Eingeführt in C# 3.0. Bietet eine prägnante Möglichkeit, Inline-Ausdrücke oder anonyme Methoden zu schreiben.

Beispiel: 

”’

List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

// Lambda expression to define the criteria for filtering 

IEnumerable<int> evenNumbers = numbers.Where(n => n& 2 == 0);

”’

Eingeführt in C# 3.0. Hilft dabei, Methoden zu einer vorhandenen Klasse hinzuzufügen, ohne diese zu ändern. 

Beispiel: 

”’

public static class StringExtension

{

public static string ToPascalCase(this string str)

{

// Implementation

}

}

string title = “hello world”;

Console.WriteLine(title.ToPascalCase());

”’

Eingeführt in C# 4.0. Ermöglicht das Schreiben dynamischer Codes in C#. Verzögert die Typüberprüfung von der Kompilierungszeit zur Laufzeit. 

Eingeführt in C# 5.0. Hilft beim Schreiben asynchroner Codes, die für nicht blockierende UI- und Serveranwendungen unerlässlich sind.

Beispiel: 

”’

public async Task<string> GetDataAsync(string url)

{

using (var client = new HttpClient())

{

return await client.GetStringAsync(url);

}

}

”’

Eingeführt in C# 6.0. Ermöglicht das Einbetten von Ausdrücken und Variablen direkt in Zeichenfolgenliterale.

Beispiel:

”’

string name = “Mohan”;

int age = 20;

//String interpolation using $

string message = $”Hello, my name is {name} and I am {age} years old.”;

”’

Eingeführt in C# 6.0. Erlaubt die Definition von prägnanten, einzeiligen Methoden, Eigenschaften und anderen Elementen mithilfe einer lambda-ähnlichen Syntax.

Beispiel: 

”’

// Expression-bodied method

public int Add(int x, int y) => x + y;

”’

Eingeführt in C# 6.0. Ermöglicht die Initialisierung des Werts einer automatisch implementierten Eigenschaft direkt in der Eigenschaftendeklaration.

Beispiel:

”’

// Auto-property initilizer

public int Website { get; set; } = “www.scholarhat.com”;

”’

…und weitere 10 Features. Diese Liste bietet einen Einblick in die wichtigsten Funktionen, die sowohl für angehende als auch erfahrene .NET/C#-Entwickler von Bedeutung sind. Es ist wichtig, diese Funktionen zu verstehen und in der eigenen Programmierung einzusetzen, um effizientere und robustere Anwendungen zu entwickeln.