Heim Backend-Entwicklung C#.Net-Tutorial Eine kurze Einführung in die neuen Funktionen von C# 6

Eine kurze Einführung in die neuen Funktionen von C# 6

Nov 24, 2016 am 11:51 AM

Vor ein paar Wochen habe ich an verschiedenen Stellen von einigen neuen Features von C#6 gelesen. Ich habe beschlossen, sie alle zusammenzustellen, damit Sie sie alle auf einmal durchgehen können, wenn Sie sie noch nicht gelesen haben. Einige davon sind vielleicht nicht so magisch wie erwartet, aber das ist vorerst nur das Update.

Sie können sie erhalten, indem Sie VS2014 herunterladen oder das Roslyn-Paket für Visual Studio2013 hier installieren.

 Also werfen wir einen Blick darauf:

 1. Der $-Bezeichner

 Die Rolle von $ besteht darin, die String-Indizierung zu vereinfachen. Es unterscheidet sich von der dynamischen Natur der Indizierung in C#, die intern den Abgleich regulärer Ausdrücke verwendet. Beispiele sind wie folgt:

1

2

3

4

5

6

7

8

9

10

11

var col = new Dictionary<string, string>()

            {

                $first = "Hassan"

            };

  

   //Assign value to member

   //the old way:

   col.$first = "Hassan";

  

   //the new way:

   col["first"] = "Hassan";

Nach dem Login kopieren

2. Ausnahmefilter

Der VB-Compiler unterstützt bereits Ausnahmefilter, und jetzt unterstützt C# sie auch. Mit Ausnahmefiltern können Entwickler einen Catch-Block für eine bestimmte Bedingung erstellen. Der Code im Catch-Block wird nur ausgeführt, wenn die Bedingung erfüllt ist. Dies ist eine meiner Lieblingsfunktionen:

1

2

3

4

5

try

            {

                throw new Exception("Me");

            }

            catch (Exception ex) if (ex.Message == "You")

Nach dem Login kopieren

3. Das Schlüsselwort „await“ in den Blöcken „catch“ und „finally“. 🎜>

Soweit ich weiß, weiß niemand, warum das Schlüsselwort „await“ in den Codeblöcken „catch“ und „finally“ in C# 5 nicht verfügbar ist. Es ist nicht verfügbar, egal wie es geschrieben ist. Dies ist gut, da Entwickler häufig das I/O-Vorgangsprotokoll anzeigen möchten und dies asynchron erfolgen muss, um die erfassten Ausnahmeinformationen im Protokoll aufzuzeichnen.

1

2

3

4

5

6

7

8

try

            {

                DoSomething();

            }

            catch (Exception)

            {

                await LogService.LogAsync(ex);

            }

Nach dem Login kopieren
 4. Deklarationsausdruck

Mit dieser Funktion können Entwickler eine Variable in einem Ausdruck definieren. Das ist einfach, aber praktisch. Ich habe in der Vergangenheit viele Websites mit asp.net erstellt. Hier ist der Code, den ich häufig verwende:

1

2

3

long id;

if (!long.TryParse(Request.QureyString["Id"], out id))

{ }

Nach dem Login kopieren
Optimierter Code:

1

2

if (!long.TryParse(Request.QureyString["Id"], out long id))

{ }

Nach dem Login kopieren
Die Rolle von Variablen in dieser Deklarationsmethode Der Gültigkeitsbereich entspricht der normalen Methode von C# zum Deklarieren von Variablen.

5. Verwendung von Static

Mit dieser Funktion können Sie einen bestimmten Typ in einer using-Anweisung angeben und dann können alle statischen Elemente dieses Typs in nachfolgenden Klauseln verwendet werden.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

using System.Console;

  

namespace ConsoleApplication10

{

    class Program

    {

        static void Main(string[] args)

        {

            //Use writeLine method of Console class

            //Without specifying the class name

            WriteLine("Hellow World");

        }

    }

}

Nach dem Login kopieren
6. Automatische Initialisierung von Eigenschaften:

C# 6 automatisch komfortable Eigenschaften sind wie Felder an der Deklarationsposition. Das Einzige, was Sie hier wissen müssen, ist, dass diese Initialisierung nicht dazu führt, dass die Setter-Methode intern aufgerufen wird. Der Hintergrundfeldwert wird direkt festgelegt. Das Folgende ist ein Beispiel:

1

2

3

4

5

6

7

8

public class Person

    {

        // You can use this feature on both

        //getter only and setter / getter only properties

  

        public string FirstName { get; set; } = "Hassan";

        public string LastName { get; } = "Hashemi";

    }

Nach dem Login kopieren
7. Hauptkonstruktor :

Hahaha, der Hauptkonstruktor wird Ihnen dabei helfen, die Mühe zu vermeiden, die Konstruktorparameter abzurufen und sie auf die Felder der Klasse festzulegen, um nachfolgende Operationen zu unterstützen. Der Hauptzweck dieser Funktion besteht darin, Konstruktorparameter für die Initialisierung zu verwenden. Wenn der Hauptkonstruktor deklariert ist, müssen alle anderen Konstruktoren :this() verwenden, um diesen Hauptkonstruktor aufzurufen.

Zum Schluss das folgende Beispiel:

1

2

3

4

5

6

//this is the primary constructor:

    class Person(string firstName, string lastName)

    {

        public string FirstName { get; set; } = firstName;

        public string LastName  { get; } = lastName;

    }

Nach dem Login kopieren
Hinweis: Der Hauptkonstruktor wird aufgerufen an der Spitze der Klasse.

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Active Directory mit C# Active Directory mit C# Sep 03, 2024 pm 03:33 PM

Active Directory mit C#

Zugriffsmodifikatoren in C# Zugriffsmodifikatoren in C# Sep 03, 2024 pm 03:24 PM

Zugriffsmodifikatoren in C#

Zufallszahlengenerator in C# Zufallszahlengenerator in C# Sep 03, 2024 pm 03:34 PM

Zufallszahlengenerator in C#

C#-Datenrasteransicht C#-Datenrasteransicht Sep 03, 2024 pm 03:32 PM

C#-Datenrasteransicht

C# StringReader C# StringReader Sep 03, 2024 pm 03:23 PM

C# StringReader

Muster in C# Muster in C# Sep 03, 2024 pm 03:33 PM

Muster in C#

C# StringWriter C# StringWriter Sep 03, 2024 pm 03:23 PM

C# StringWriter

BinaryWriter in C# BinaryWriter in C# Sep 03, 2024 pm 03:22 PM

BinaryWriter in C#

See all articles