美文网首页C#
第二章 程序结构

第二章 程序结构

作者: 石不琢 | 来源:发表于2017-11-13 23:05 被阅读0次

C# 中的关键组织结构概念包括程序命名空间类型成员程序集。 C# 程序由一个或多个源文件组成。 程序声明类型,而类型则包含成员,并被整理到命名空间中。 类型示例包括类和接口。 成员示例包括字段、方法、属性和事件。 编译完的 C# 程序实际上会打包到程序集中。 程序集的文件扩展名通常为.exe.dll,具体取决于实现的是应用程序还是

以下示例在Acme.Collections命名空间中声明Stack类:

using System;
namespace Acme.Collections
{
    public class Stack
    {
        Entry top;
        public void Push(object data) 
        {
            top = new Entry(top, data);
        }

        public object Pop() 
        {
            if (top == null)
            {
                throw new InvalidOperationException();
            }
            object result = top.data;
            top = top.next;
            return result;
        }

        class Entry
        {
            public Entry next;
            public object data;
            public Entry(Entry next, object data)
            {
                this.next = next;
                this.data = data;
            }
        }
    }
}

此类的完全限定的名称为Acme.Collections.Stack。 此类包含多个成员:一个top
字段、两个方法(PushPop)和一个Entry嵌套类。
Entry类还包含三个成员:一个next字段、一个data字段和一个构造函数。 假定示例的源代码存储在acme.cs文件中,以下命令行

csc /t:library acme.cs

将示例编译成库(不含Main入口点的代码),并生成acme.dll程序集。

上述示例使用csc作为命令行 C# 编译器。 此编译器是 Windows 可执行文件。 若要在其他平台上使用 C#,应使用 .NET Core 工具。 .NET Core 生态系统使用dotnetCLI 来管理命令行生成。 这包括管理依赖项和调用 C# 编译器。 有关在 .NET Core 支持的平台上使用这些工具的完整说明,请参阅这篇教程

程序集包含中间语言 (IL) 指令形式的可执行代码和元数据形式的符号信息。 执行前,程序集中的 IL 代码会被 .NET 公共语言运行时的实时 (JIT) 编译器自动转换成处理器专属代码。

由于程序集是包含代码和元数据的自描述功能单元,因此无需在 C# 中使用#include指令和头文件。 只需在编译程序时引用特定的程序集,即可在 C# 程序中使用此程序集中包含的公共类型和成员。
例如,此程序使用acme.dll程序集中的Acme.Collections.Stack类:

using System;
using Acme.Collections;
class Example
{
    static void Main() 
    {
        Stack s = new Stack();
        s.Push(1);
        s.Push(10);
        s.Push(100);
        Console.WriteLine(s.Pop());
        Console.WriteLine(s.Pop());
        Console.WriteLine(s.Pop());
    }
}

如果程序存储在文件example.cs中,那么在example.cs编译完后,可以使用编译器的 /r 选项引用 acme.dll 程序集:

csc /r:acme.dll example.cs

这会创建example.exe可执行程序集,它将在运行时输出以下内容:

100
10
1

使用 C#,可以将程序的源文本存储在多个源文件中。 编译多文件 C# 程序时,可以将所有源文件一起处理,并且源文件可以随意相互引用。从概念上讲,就像是所有源文件在处理前被集中到一个大文件中一样。 在 C# 中,永远都不需要使用前向声明,因为声明顺序无关紧要(除了极少数的例外情况)。 C# 并不限制源文件只能声明一种公共类型,也不要求源文件的文件名必须与其中声明的类型相匹配。

相关文章

  • JavaScript程序结构

    一、程序结构(1) 认识程序结构程序结构,描述了业务处理流程,反映到代码中就是代码的执行顺序/过程;常见的程序结构...

  • 第二章 程序结构

    2.1 名称 关键字 break default func interface ...

  • 第二章 程序结构

    基础知识结构 命名 声明 变量 赋值 类型 包和文件 作用域 命名 命名规则:一个名字必须以一个字母(unicod...

  • 第二章 程序结构

    C# 中的关键组织结构概念包括程序、命名空间、类型、成员和程序集。 C# 程序由一个或多个源文件组成。 程序声明类...

  • JavaScript 编程精解 (2)

    第二章 程序结构 2.1 表达式和语句 表达式:产生值的操作的代码片段。 语句:表达式 + 分号 = 一条语句,在...

  • 面向对象程序设计java基础知识

    第一章 Java开发环境 Java语言的特点 基础语法 基础语法 程序结构 基本数据类型与表达式 数组 第二章 面...

  • 程序结构之:循环结构

    程序结构之:循环结构 · 视频课程 程序结构之:循环结构 · 课程文稿 今天,我们来学习另一种程序结构:顺序结构。...

  • 2 mysql 体系架构

    2. mysql 体系架构 连接方式TCP/IPSocket mysqld程序结构mysqld程序结构mysql程...

  • 零基础学Java第三篇之流程控制

    程序结构 顺序结构:是最简单的程序结构,也是最常用的程序结构,只要按照解决问题的顺序写出相应的语句就行,它的执行顺...

  • AHK基础入门与程序结构

    [toc] # 前言 ## 什么是程序结构? 程序结构一般指结构化程序设计,也就是说我们把程序结构化,进行以模块功...

网友评论

    本文标题:第二章 程序结构

    本文链接:https://www.haomeiwen.com/subject/ihbtvxtx.html