ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C# 温故知新 第二篇 C# 程序的通用结构

2021-12-07 20:33:25  阅读:152  来源: 互联网

标签:语句 函数 顶级 C# 温故知新 命名 main 第二篇


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的声明省略掉,只写出你的核心业务代码,就成了顶级语句,查看微软官网示范类:这里再引用后面,命名空间上面,直接输出 “Hello world” ;程序先执行顶级语句。

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

// 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
        {
        }
    }
}

顶级语句的使用规则

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

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

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

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

标签:语句,函数,顶级,C#,温故知新,命名,main,第二篇
来源: https://www.cnblogs.com/motion/p/15632235.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有