C#—Main方法

简介: 今天在敲委托代理第三个例子的时候遇到了这样的问题

  今天在敲委托代理第三个例子的时候遇到了这样的问题,如下图:


  20141201175001671.jpg


   一头污水,因为第一个例子运行成功了,于是就和第一个例子中启动Main方法哪儿对比,也没有看出什么错误,于是就查了一些资料,终于搞懂了,如下图:


  20141201175350149.jpg


   右击其中红色标注的项目,选择属性弹出如下图界面:


 20141201175222259.jpg 


  将图中启动对象改为对应的你要启动的名字以及对应Main方法上的类,如下图我红色标注的部分需要和上面的启动对象对应!


<span style="font-family:KaiTi_GB2312;font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:24px;">namespace <span style="color:#ff0000;">ConsoleApplication3</span>
{
    //委托代码第三个例子
    public delegate void del(string teststring);
    public class<span style="color:#ff0000;"> multicastdelegate</span>
    {
        public static void Main(string[] args)
        {
            //实例化一个messagetest类的对象ok
            messagetest ok = new messagetest();
            //d1为ok.message1的代理
            del d1 = new del(ok.message1);
            del d2 = new del(ok.message2);
            del d3 = new del(ok.message3);
            del dall = d1 + d2 + d3;
            dall("代理制广播!");
            dall = dall - d1;
            dall("代理之多路委托");
        }
    }
    //定义类中不同的方法
    class messagetest
    {
        public void message1(string teststring)
        {
            Console.WriteLine("使用message1" + teststring);
        }
        public void message2(string teststring)
        {
            Console.WriteLine("使用message2" + teststring);
        }
        public void message3(string teststring)
        {
            Console.WriteLine("使用message3" + teststring);
        }
    }
}</span></span>


有了以上的问题,下面我再介绍一下Main方法:


   1.Main方法是程序的入口点,C#程序中必须包含一个Main方法,在Main方法中可以创建对象和调用其他方法。


   2.一个C#程序中只能有一个Main方法,并且在C#中所有的Main方法都必须是静态(static)的,使它可以不依赖与类的实例对象而执行。


   3.可以用3个修饰符修饰Main方法,分别是public、static和void。


      (1)public:说明Main方法是共有的,在类的外面也可以调用整个方法


      (2)static:说明方法是一个静态方法,即这个方法属于类的本身,而不是这个类的特定对象,调用静态方法不能使用类的实例化对象,必须直接使用类名来调用


      (3)viod:此修饰符说明方法无返回值


   4.我以上委托例子中Main方法是这样  static viod  Main(string[] args)   使用的,而一般这样    static viod Main()    使用就可以了。


Main方法VB vs C#


   以前在VB中也用到过Main方法,哪里只不过是在启动的时候可以实例化出一个窗体,或者直接用Main方法调用一个窗体。


   在C#中接触了面向对象思想,理解运用Main方法的时候就比当时复杂多了!


Main方法举例:


   Main方法就相当于汽车的电瓶,在生产汽车时,将各个零件进行组装,相当于程序的编写。当汽车组装完成后,就要检测汽车是否可用,如果想启动汽车,就必须通过电瓶来启动汽车的各个部件,如:发动机、车灯等,电瓶就相当于启动汽车的入口点。


   上述如有错误之处还望指正!

相关文章
|
5天前
|
Java 调度 C#
C#学习系列相关之多线程(一)----常用多线程方法总结
C#学习系列相关之多线程(一)----常用多线程方法总结
|
5天前
|
C#
C#学习相关系列之数组---常用方法使用(二)
C#学习相关系列之数组---常用方法使用(二)
|
5天前
|
存储 C# 数据库
C# 生成唯一ID,有哪些方法?
【2月更文挑战第12天】
237 0
|
5天前
|
编译器 C# 开发者
C# 11.0中的新特性:覆盖默认接口方法
C# 11.0进一步增强了接口的灵活性,引入了覆盖默认接口方法的能力。这一新特性允许类在实现接口时,不仅可以提供接口中未实现的方法的具体实现,还可以覆盖接口中定义的默认方法实现。本文将详细介绍C# 11.0中接口默认方法覆盖的工作原理、使用场景及其对现有代码的影响,帮助开发者更好地理解和应用这一新功能。
|
5天前
|
程序员 C#
C#抽象类和抽象方法详解
C#抽象类和抽象方法详解
10 0
|
5天前
|
存储 开发框架 .NET
C#中将DataTable转化成ListT的方法解析
C#中将DataTable转化成ListT的方法解析
9 0
|
5天前
|
数据采集 前端开发 数据挖掘
Fizzler库+C#:从微博抓取热点的最简单方法
本文介绍如何使用Fizzler库和C#构建微博热点信息爬虫。通过Fizzler的CSS选择器定位关键信息,提取热点标题和排名,实现微博内容的智能挖掘。示例代码展示单线程和多线程采集方法,并涉及代理IP使用。
Fizzler库+C#:从微博抓取热点的最简单方法
|
5天前
|
存储 数据采集 API
C# GetField 方法应用实例
C# GetField 方法应用实例
|
5天前
|
JSON 安全 API
C# GetMethod 方法应用实例
C# GetMethod 方法应用实例
|
5天前
|
设计模式 IDE 测试技术
提升 C#编程效率的技巧与方法
【4月更文挑战第20天】提升C#编程效率的关键技巧包括:选择合适的IDE(如Visual Studio)、掌握基础语法、规划良好代码结构、使用代码生成工具、复用代码、利用库和框架、定期重构、应用设计模式、避免过度设计、进行代码审查、自动化测试、学习新技术、养成良好编程习惯、定期备份代码及参与技术社区。通过这些方法,开发者能提高代码质量和开发效率。