2013-08-06 18 views
5

Attualmente sto leggendo i libri Microsoft corso ufficiale per programmazione C#, il primo concetto che introducono a è Console.WriteLineDove dovrei posizionare il vuoto statico pubblico Main?

Il codice vero e proprio danno di digitare è:

class Hello 
{ 
    public static void Main() 
    { 
     Console.WriteLine("Hello, World"); 
    } 
} 

io non sono sicuro se dovrei inserire questo codice sotto Form Load o l'utilizzo del sistema perché ho sempre ottenere il seguente errore (s) e io non sono sicuro di quello che esso implica:

errore ... Debug \ WindowsFormsApplication1.exe' ha più di una voce p oint definito: "Hello.Main()". Compilare con/principale per specificare il tipo che contiene il punto di ingresso. **

+3

Sembra che tu abbia creato un progetto winforms per errore anziché uno per console. –

+0

Il tuo progetto aveva in realtà due metodi statici chiamati 'Main'. Uno di questi due è stato generato dall'ambiente di sviluppo integrato Visual Studio e l'altro è stato scritto a mano da te. Quando ci sono due 'Main' (ciascuno statico e con una firma valida per" punti di ingresso "), il compilatore non può dire quale usare, e si ottiene l'errore. –

+0

Si prega di notare che 'Principale' [dovrebbe * non * essere pubblico] (https://msdn.microsoft.com/en-us/library/acy3edy3%28v=vs.140%29.aspx). – DavidRR

risposta

7

Questo è il codice per un console applicazione, non è un'applicazione WinForm. In Visual Studio, crea un nuovo progetto e seleziona Console Application come tipo di progetto.

Si noterà che un nuovo progetto di console avrà la maggior parte del codice che hai ottenuto scritto per voi (ad esempio il metodo Main)

enter image description here

La ragione si stavano diventando che l'errore è stato perché WinForm ha già un metodo Main in Program.cs. Il metodo Main è noto come entry point e .net i progetti exe indipendenti ne hanno uno. Puoi fare in modo che il punto di ingresso sia un altro metodo, ma raramente viene eseguito poiché nella maggior parte dei casi non è necessario.

+0

Grazie per l'immagine @ p.campbell – keyboardP

+0

Solo per la cronologia, un'applicazione Windows Form ha anche un metodo Main. È solo che il modello predefinito lo aggiunge già per te e la maggior parte delle persone non tocca mai il file che lo contiene di nuovo. – Renan

+0

Detto questo mentre stavi scrivendo quel commento :) – keyboardP

1

avete il tipo di applicazione sbagliata.

Il corso probabilmente accenna qualche parte che è necessario creare un nuovo Console Application. Hai scelto Windows Forms nel tuo tentativo.

Provare a creare un nuovo Console Application e il metodo Main sarà già definito per l'utente.

Problemi correlati