TryParse Inline-Parameter erstellen?

7

Gibt es in C # eine Möglichkeit, eine Variable inline zu erstellen? Etwas wie das:

%Vor%

Glauben Sie nicht, dass dies nützlicher ist, als eine Variable außerhalb zu erstellen und sie dann nie wieder zu verwenden?

    
Anton Selin 04.11.2014, 13:56
quelle

5 Antworten

12

Diese Syntax - Deklarationsausdrücke genannt - befand sich in der vorgeschlagenen Featureliste für die nächste Version von C # (Version 6).

Sie sind nicht der Einzige, der das für nützlich hält. Wenn Sie zum Beispiel ein vollständiges TryParse aufrufen, rufen Sie einen Ausdruck auf (es ist keine Anweisung erforderlich, die Variable zu deklarieren).

Allerdings wurde von den laufenden Arbeiten auf C # 6 gelöscht.

Ich bin mir sicher, dass ich nicht der einzige bin, der hofft, dass es in einer zukünftigen Version zurückkehren wird. Es ist in C # 7 als Deklaration enthalten (keine Notwendigkeit für new ) :

%Vor%     
Richard 04.11.2014 14:01
quelle
4

Inline-Deklarationen für out params ist ein neues vorgeschlagenes Feature in C #, das an einem Tag Standard sein könnte, siehe z. Wahrscheinliche C # 6.0-Funktionen dargestellt , Abschnitt 9. Das erwartete / vorgeschlagene Syntax:

%Vor%

Bearbeiten: Diese out -Syntax wurde schließlich in C # 7.0 enthalten (Visual Studio 2017); Sie können auch out var x verwenden.

Zusatz: Leute kommen mit lustigen Erweiterungsmethoden. Ich habe versucht, einen generischen zu machen:

%Vor%

Dies kann wie folgt verwendet werden:

%Vor%

und so weiter. Ich hatte gehofft, der Compiler würde T von der Verwendung ableiten, so dass man einfach sagen könnte:

%Vor%

aber es scheint, dass Sie das Argument type für die Methode explizit angeben müssen.

    
Jeppe Stig Nielsen 04.11.2014 14:04
quelle
3
___ qstntxt ___

Gibt es in C # eine Möglichkeit, eine Variable inline zu erstellen? Etwas wie das:

%Vor%

Glauben Sie nicht, dass dies nützlicher ist, als eine Variable außerhalb zu erstellen und sie dann nie wieder zu verwenden?

    
___ answer26737186 ​​___

Als Workaround können Sie eine Erweiterung erstellen:

%Vor%

Dann brauchst du nicht einmal einen out -Parameter:

%Vor%     
___ answer26737101 ___

Basierend auf der OP-Anfrage:

%Vor%

Zugegeben, nicht die klügste Vorgehensweise, aber die einfachste denke ich :) Kann das vielleicht auch in eine Erweiterungsmethode einbinden.

    
___ answer26809401 ___

Sie können auch einen temporären Speicher für alle Methoden verwenden.

%Vor%

%Vor%     
___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert. ___ tag123net ___ Das .NET-Framework ist ein Software-Framework, das hauptsächlich für das Microsoft Windows-Betriebssystem entwickelt wurde. Es enthält eine Implementierung der Basisklassenbibliothek, Common Language Runtime (allgemein als CLR bezeichnet), Common Type System (allgemein als CTS bezeichnet) und Dynamic Language Runtime. Es unterstützt viele Programmiersprachen, einschließlich C #, VB.NET, F # und C ++ / CLI. NICHT für Fragen zu .NET Core verwenden. ___ qstnhdr ___ TryParse Inline-Parameter erstellen? ___ tag123typeconversion ___ Die Typkonvertierung ist die Art und Weise, wie eine Entität eines Datentyps implizit oder explizit in eine andere geändert wird. Dies geschieht, um bestimmte Merkmale von Typhierarchien oder Typendarstellungen auszunutzen. ___ tag123clr ___ Die Common Language Runtime (CLR) ist eine Kernkomponente der .NET-Initiative von Microsoft. Es ist Microsofts Implementierung des CLI-Standards (Common Language Infrastructure), der eine Ausführungsumgebung für Programmcode definiert. In der CLR wird Code in Form eines Bytecodes ausgedrückt, der Common Intermediate Language (CIL, früher als MSIL-Microsoft Intermediate Language bekannt) genannt wird. ___ answer26737056 ___

Diese Syntax - Deklarationsausdrücke genannt - befand sich in der vorgeschlagenen Featureliste für die nächste Version von C # (Version 6).

Sie sind nicht der Einzige, der das für nützlich hält. Wenn Sie zum Beispiel ein vollständiges %code% aufrufen, rufen Sie einen Ausdruck auf (es ist keine Anweisung erforderlich, die Variable zu deklarieren).

Allerdings wurde von den laufenden Arbeiten auf C # 6 gelöscht.

Ich bin mir sicher, dass ich nicht der einzige bin, der hofft, dass es in einer zukünftigen Version zurückkehren wird. Es ist in C # 7 als Deklaration enthalten (keine Notwendigkeit für %code% ) :

%Vor%     
___ tag123tryparse ___ Konvertiert die Zeichenfolgendarstellung eines Objekts in die typisierte Entsprechung. Ein Rückgabewert gibt an, ob die Operation erfolgreich war. ___ answer26737105 ___

Inline-Deklarationen für %code% params ist ein neues vorgeschlagenes Feature in C #, das an einem Tag Standard sein könnte, siehe z. Wahrscheinliche C # 6.0-Funktionen dargestellt , Abschnitt 9. Das erwartete / vorgeschlagene Syntax:

%Vor%

Bearbeiten: Diese %code% -Syntax wurde schließlich in C # 7.0 enthalten (Visual Studio 2017); Sie können auch %code% verwenden.

Zusatz: Leute kommen mit lustigen Erweiterungsmethoden. Ich habe versucht, einen generischen zu machen:

%Vor%

Dies kann wie folgt verwendet werden:

%Vor%

und so weiter. Ich hatte gehofft, der Compiler würde %code% von der Verwendung ableiten, so dass man einfach sagen könnte:

%Vor%

aber es scheint, dass Sie das Argument type für die Methode explizit angeben müssen.

    
___
Tim Schmelter 04.11.2014 14:08
quelle
0

Basierend auf der OP-Anfrage:

%Vor%

Zugegeben, nicht die klügste Vorgehensweise, aber die einfachste denke ich :) Kann das vielleicht auch in eine Erweiterungsmethode einbinden.

    
Dr Schizo 04.11.2014 14:04
quelle
0

Sie können auch einen temporären Speicher für alle Methoden verwenden.

%Vor%

%Vor%     
IllidanS4 07.11.2014 20:16
quelle