Visual C#编程入门之C#的结

visual|编程

C#中程序结构的关键概念为程序、命名空间、类型、成员和程序集。C#程序包括一个或多个源文件。程序中声明类型,类型包含成员并能够被组织到命名空间中。类和接口是类型的例子。字段、方法、属性和事件则是成员的例子。当C#程序被编译时,它们被物理地打包到程序集中。程序集的文件扩展名一般为.exe或者.dll,这取决于它们是实现为应用程序(application),还是类库(library)。
  示例:

  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的类,这个类的完全限定名就是Acme.Collections.Stack。它包括几个成员:一个名为top的字段,两个分别命名为push和pop的方法,以及一个名为Entry的嵌套类。Entry类又进一步包括三个成员:一个名为next的字段,一个名为data的字段,以及一个构造函数。假定这个示例的源程序被存为acme.cs文件,命令行为:

  csc /t:library acme.cs

  将这个示例编译为类库(不带Main入口点的代码),并且产生一个名为acme.dll的程序集。

  程序集包括中间语言(Intermediate Language,IL)指令形式的可执行代码,以及元数据(metadata)形式的符号信息。在它执行之前,程序集的IL代码将被.NET公共语言运行库(Common Language Runtime,CLR)自动转换成特定处理器的代码。

  由于程序集是自描述的功能单元,它既包括代码,也包括元数据,因此,在C#中不需要#i nclude指令和头文件。假如某个C#程序需要引用特定程序集中的公共类型和成员,那么只在编译时简单地引用那个程序集就可以了。例如,下面的程序使用来自acme.dll程序集中的Acme.Collections.Stack类:

  using System;
  using Acme.Collections;

  class Test
  {
  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());
  }
  }

  如果程序被存为test.cs文件,那么,在test.cs被编译时,acme.dll可以通过/r选项被引用:

  csc /r:acme.dll test.cs

  这样可以创建一个名为test.exe的可执行程序集,运行结果如下:

  100
  10
  1

      C#允许一个程序的源文本被存为几个源文件。当多文件的C#程序被编译时,所有的源文件都被一起处理,并且各个源文件从概念上能够自由地相互引用,就如同处理之前,所有的源文件被连接成一个大文件。在C#中向前声明是没有必要的,原因就是声明的顺序无关紧要。C#不限制一个源文件只能声明一个公共类型,也不要求源文件名必须与该文件中的类型相匹配译注1。

时间: 2024-09-29 22:47:39

Visual C#编程入门之C#的结的相关文章

《Visual Basic 2012入门经典》----第1章 全身心投入:Visual Basic 2012编程之旅 1.1 开始使用Visual Basic 2012

第1章 全身心投入:Visual Basic 2012编程之旅 Visual Basic 2012入门经典在本章中,读者将学习: 创建一个简单但有一定功能的Visual Basic应用程序:让用户浏览硬盘:显示硬盘中的图片:熟悉一些编程术语:学习Visual Studio 2012 IDE.学习一门新的编程语言因其难度可能使人望而却步.如果您从来没有编写过程序,那么输入有些神秘的文本就可以产生精美的.功能强大的应用程序,这种行为对您来说可能就像一种魔法,您可能会想知道如何才能学会需要掌握的东西.

《Visual Basic 2012入门经典》---- 2.7 快速而简单的编程入门指南

2.7 快速而简单的编程入门指南 Visual Basic 2012入门经典编程很复杂.所有东西都互相关联,因此很难将每个编程概念分开然后用线性方式加以说明.相反,在学习一个主题的过程中,通常在学到另一个主题前就需要接触它.正如第1章指出的,我尽量避免这种前向参考,但有些概念需要你首先熟悉一下.这些主题在对应的章节中都将介绍,但阅读本书之前你必须至少听说过. 2.7.1 用变量存储值 变量是代码中用于保存值的元素.例如,可以创建一个保存用户名或用户年龄的变量.每个变量(存储实体)都必须在使用前创

COM编程入门第二部分——深入COM服务器

本文为刚刚接触COM的程序员提供编程指南,解释COM服务器内幕以及如何用C++编写自己的接口.继上一篇COM编程入门之后,本文将讨论有关 COM服务器的内容,解释编写自己的COM接口和COM服务器所需要的步骤和知识,以及详细讨论当COM库对COM服务器进行调用时,COM服务器运行的 内部机制. 如果你读过上一篇文章.应该很熟悉COM客户端是怎么会事了.本文将讨论COM的另一端--COM服务器.内容包括如何用C++编写一个简单的不涉及 类库的COM服务器.深入到创建COM服务器的内部过程,毫无遮掩

ASP.NET编程入门解析

安装运行.NET需要的软件 我这里推荐一本书:<beginning asp.net 1.1with vb.net 2003>就是<asp.net 1.1入门经典--vb.net2003编程篇>这本书讲的很不错,适合初学者. 个人基础:asp基本掌握,c++基本掌握: 电脑配置:6.5G硬盘+128M内存,其他设备都是类似的配置+windows2000: 软件要求吧: 1.MDAC 2.7(微软数据库引擎)大约5.01M: 2.Microsoft.NET framework1.1大约

《Visual C# 2010入门经典》一导读

前 言 Visual C# 2010入门经典 1998年12月底,Microsoft着手推出一种全新的开发平台,旨在提供一种创建和运行下一代应用程序和Web服务的全新方式.这种新平台名为.NET Framework,于2000年6月发布. .NET Framework将原有Windows接口和服务融合到单个应用程序编程接口(API)下,并将众多新出现的行业标准(如简单对象访问协议[SOAP])和众多原有的Microsoft技术(如Microsoft组件对象模型[COM和COM+]和Active

《Visual C# 2010入门经典》一1.2 C#语言

1.2 C#语言 Visual C# 2010入门经典 如果您是C.C++或Java程序员,将很快熟悉C#,因为其语法与这些语言类似.如果您熟悉Visual Basic(运行在.NET Framework上的任何Visual Basic版本,而不是Visual Basic 6.0或更早的版本),可能对C#语法感到陌生,但应熟悉Framework类库.如果您从未使用过上述任何语言,也将发现与众多其他语言相比,使用C#进行编程更容易,因为它语法优雅,类库庞大. ** 提示:语言灵感** 作为一种语言

《Visual C# 2010入门经典》一1.1 .NET Framework

1.1 .NET Framework Visual C# 2010入门经典 .NET Framework提供了一些工具和技术,让开发人员能够以独立于语言和平台的方式创建并运行下一代应用程序和Web服务.它提供了一个庞大的类库,这个类库支持众多常见的任务,简化了众多艰难的任务,让您能够将更多的时间用于解决手头的任务:以尽可能高效的方式满足业务需求. .NET Framework具有如下功能. 提供了一个运行环境,以简化软件开发过程,降低版本冲突的可能性. 确保代码的安全执行. 基于行业标准进行所有

Matlab与.NET基于类型安全的接口混合编程入门

原文:[原创]Matlab与.NET基于类型安全的接口混合编程入门 如果这些文章对你有用,有帮助,期待更多开源组件介绍,请不要吝啬手中的鼠标.  [原创分享]Matlab.NET混编调用Figure窗体 http://www.cnblogs.com/asxinyu/archive/2013/04/14/3020813.html   [原创]开源.NET下的XML数据库介绍及入门  http://www.cnblogs.com/asxinyu/archive/2013/03/25/2980086.

《Visual C# 2010入门经典》一1.5 总结

1.5 总结 Visual C# 2010入门经典 祝贺您成功地编写了第一个C#应用程序.这可能也是您编写的第一个托管应用程序,也可能只是您编写的第一个C#应用程序,但无论是那种情况,都为以后打下了基础. 本章首先介绍了.NET Framework及其组件.就第1章而言,这些内容可能太深了些,但要成为成熟.成功的.NET程序员,必须对开发.NET Framework的原因及.NET Framework的组件有基本认识.接下来,介绍了C#语言,包括语句.表达式.变量.常量.标识符和关键字. 最后,