簡體   English   中英

Visual Studio如何在我的代碼中運行?

[英]How does Visual Studio run through my code?

我最近決定自學如何進行編碼(使用免費的在線工具,例如Microsoft Virtual Academy),並且已經決定將C#作為我的入門語言。

像大多數初學者一樣,我有一個非常基本的問題,我似乎找不到答案(可能是因為它太簡單了)。 我使用的是Visual Studio,我只是想知道軟件如何通過我編寫的代碼運行。

這是我的猜測:我相信當我運行代碼時,它只會執行“類Program1”中的操作,因為那是代碼中的第一個類。 一旦它到達該塊的末尾,它便不會執行其他任何操作,因此它將關閉控制台(或更確切地說,當我按ENTER鍵時,我將關閉控制台)。

最初,我以為它也應該在“類Program2”中運行,但是在嘗試了一下並發現它不能按預期運行后,我被認為具有我想要的任何類功能(除了第一個列出的功能) -在這種情況下為Program1)需要調用。 我對VS如何在我的代碼中運行的理解是否正確? 對於任何術語混淆,我也深表歉意。 先感謝您!

示例代碼:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Testing
{
    class Program1
    {
        static void Main(string[] args)
        {
            Console.WriteLine("I'm Text!");
            Console.ReadLine();
        }
    }
    class Program2
    {
        static void Main2(string[] args)
        {
            Console.WriteLine("I'm More Text!");
            Console.ReadLine();
        }
    }
}

您本質上是正確的。 默認情況下,它嘗試查找具有簽名static void Main(string[] args)以在啟動時執行(返回類型為int和/或任何參數都不可接受)。

Main方法是C#控制台應用程序或Windows應用程序的入口點。 (庫和服務不需要Main方法作為入口點。)。 啟動應用程序時,Main方法是第一個被調用的方法。

https://msdn.microsoft.com/en-us/library/acy3edy3.aspx

我之所以說“默認”,是因為您確實可以使用一個以上帶有該簽名的方法(在不同的類中)。 如果這樣做,您會收到編譯器錯誤

錯誤1程序'c:... \\ obj \\ Debug \\ MyProgram.exe'定義了多個入口點:'MyProgram.Program.Main(string [])'。 用/ main編譯以指定包含入口點的類型。

在這種情況下,可以使用編譯標志/main來指定應從何處開始執行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM