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

伊谢尔伦
Freigeben: 2016-11-24 11:51:42
Original
1253 Leute haben es durchsucht

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:

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:

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.

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:

long id;
if (!long.TryParse(Request.QureyString["Id"], out id))
{ }
Nach dem Login kopieren
Optimierter Code:

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.

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:

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:

//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.

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!