对象实例内部运行的main与纯静态的main有什么区别?

本文关键字:main 什么 区别 静态 实例 内部 运行 对象 | 更新日期: 2023-09-27 18:06:39

第一个示例创建程序类的实例。第二个没有。有人能告诉我这两个简单的模型是怎么回事吗?(如果你愿意,你可以得到堆栈帧和分钟)为什么使用两者之一?我想了解这些结构的优点和应用。

//Example #1
namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            Program createStory = new Program();
            createStory.PrintMe();
         }

        private void PrintMe()
        {
             Console.Write("Hello World));
        }
    }
}
//Example #2
namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Hello World));
        }
    }
}

对象实例内部运行的main与纯静态的main有什么区别?

您已经确切地说了发生的事情-一个创建实例然后调用方法,另一个只是直接完成它的工作。

通常第一种形式更适合测试——你可以在每个测试中创建一个单独的应用实例,传递相关参数等。这对其他类也是一样的——如果你有任何状态,单独测试单独的实例比使用全局状态更容易,并且必须在测试之间清理它。