zoukankan      html  css  js  c++  java
  • C# 温故知新 第二篇 C# 程序的通用结构

    C# 程序由一个或多个文件组成。 每个文件均包含零个或多个命名空间。 一个命名空间包含类、结构、接口、枚举、委托等类型或其他命名空间。 以下示例是包含所有这些元素的 C# 程序主干。

    主要包括  1.引用 通常为 using +具体的命名空间。    2. 命名空间  namespace 你的命名空间  {}     3.第三个就是在命名空间内部编写你的代码。代码包括 类,结构体,接口 ,委托,枚举等等。具体如下,微软官网的示范类:

    // A skeleton of a C# program
    using System;
    namespace YourNamespace
    {
        class YourClass
        {
        }
    
        struct YourStruct
        {
        }
    
        interface IYourInterface
        {
        }
    
        delegate int YourDelegate();
    
        enum YourEnum
        {
        }
    
        namespace YourNestedNamespace
        {
            struct YourStruct
            {
            }
        }
    
        class Program
        {
            static void Main(string[] args)
            {
                //Your program starts here...
                Console.WriteLine("Hello world!");
            }
        }
    }

    这里可以看出C#程序需要有一个 静态 Main函数,程序也是从 main函数开始。 初学编程一般最先开始了解C语言,不由得想起,老师经常说过的一句话 ,C语言程序执行由本程序main函数开始到mian函数结束,C#包括java也是这样。

    但是在C# 9 开始,引入顶级语句,改变了传统编码方式,不再需要显示写出 main函数。

    顶级语句允许将Class的定义和主函数Main的声明省略掉,只写出你的核心业务代码,就成了顶级语句,查看微软官网示范类:这里在using引用后面,命名空间上面,直接输出 “Hello world” ;程序先执行顶级语句。

    // A skeleton of a C# program
    using System;
    
    // Your program starts here:
    Console.WriteLine("Hello world!");
    
    namespace YourNamespace
    {
        class YourClass
        {
        }
    
        struct YourStruct
        {
        }
    
        interface IYourInterface
        {
        }
    
        delegate int YourDelegate();
    
        enum YourEnum
        {
        }
    
        namespace YourNestedNamespace
        {
            struct YourStruct
            {
            }
        }
    }

    当然需要注意的是,不需要显示写出main函数,并不意味着,没有main函数了,只是 编译器会 为主程序生成命名空间、类和方法元素。

    顶级语句的使用规则

    • 顶级语句必须放在using语句代码后面

    • 顶级语句必须用在任何类型或者命名空间声明的前面

    • 顶级语句只能写在一个源代码文件里,像如今只能写一个main方法一样,有且只能有一个。

    • 顶级语句中定义的本地函数和变量,在顶级代码段外部的任何地方调用他们都会产生错误。

  • 相关阅读:
    Java学习个人备忘录之继承
    Java学习个人备忘录之文档注释
    Java学习个人备忘录之数组工具类
    Java学习个人备忘录之关键字static
    Java学习个人备忘录之构造函数&this
    Java学习个人备忘录之面向对象概念
    Java学习个人备忘录之数组
    Java学习个人备忘录之入门基础
    hdoj1162-Eddy's picture(kruskal)
    hdoj1102-Constructing Roads(Kruskal)
  • 原文地址:https://www.cnblogs.com/motion/p/15632235.html
Copyright © 2011-2022 走看看