2017-06-14 2 views
-2

Ich versuche anstatt using System; zu verwenden, so dass ich nur WriteLine("bla") vs Console.WriteLine("bla") eingeben müssen."mit statischen" Wurf Fehler

Mein Code ist wie folgt:

using static System.Console; 

public class Program 
{ 
    public static void Main() 
    { 
     WriteLine("this is text") 
    } 
} 

Es wirft folgende Fehler:

  • Übersetzungsfehler (Zeile 1, Spalte 7): Identifier erwartet; 'Statische' ist ein Schlüsselwort

  • Übersetzungsfehler (Zeile 1, Spalte 14): Erwartete Klasse, zu delegieren, ENUM-Schnittstelle oder struct

Wenn jedoch ich using System; und Console.WriteLine("this is text"), es funktioniert perfekt.

Wenn jemand erklären könnte, was mit meinem Code falsch ist, das wäre toll, aber bitte erklären gründlich, weil ich sehr wenig weiß über die Programmierung: S

+0

Sie nicht, es zu erklären, haben 'static',' Console' ist schon 'Static' Klasse Deshalb können Sie direkt mit dem Operator '.' auf die Methode zugreifen, ohne ein Objekt dieser Klasse zu erstellen. Entfernen Sie einfach die Anweisung 'static' aus der import-Anweisung. –

+2

@CoderofCode: Das OP spricht über das neue 'using static'-Feature in C# 6. Es sollte funktionieren, vorausgesetzt, der neueste Compiler wird verwendet. –

+1

Zum OP: Welche Version des Compilers verwenden Sie? I.e. benutzt du eigentlich C# 6? –

Antwort

0

In C# 7.0/VS2017, sollte der Code arbeitet, mit Ausnahme des Fehler in Zeile 7 - es fehlt ein abschließendes Semikolon.

Der folgende Code kompiliert und ausgeführt, und zeigt:

diesen Text

using static System.Console; 

public class Program 
{ 
    public static void Main() 
    { 
     WriteLine("this is text"); 
    } 
} 
+0

Ja, vergessen Sie das Semikolon in der Post, aber es ist da im eigentlichen Code. Ich denke, dass .NET Fiddle nicht den neuesten C# -Compiler verwendet. Im Visual Studio funktioniert der Code einwandfrei. Vielen Dank! –

Verwandte Themen