ITPub博客

首页 > Linux操作系统 > Linux操作系统 > C#,深入浅出全接触(二)

C#,深入浅出全接触(二)

原创 Linux操作系统 作者:dotnetstarter 时间:2008-08-15 14:10:24 0 删除 编辑

五、C# 编辑器

编写C#程序可以在文本编辑器中进行,或者在集成开发环境Visual Studio中进行。市场上还有一些第三方编辑器,其中一些是免费的。更多信息请查看这里。

六、C#的程序结构

一个C#程序包含一个类,这个类中至少有一个公用的静态方法Main,这个方法对程序进行初始化并终止程序。在Main方法中创建子对象、执行方法并实现软件的逻辑处理。下面是一个典型的微型C#例程:

using System;

class MyFirstApp

{

static int Main(String[] args)

System.Console.WriteLine ("Hello .NET");

return 1;

}

}

在C#中,要使用下面的声明来引入外部定义,而不是用象C++中的#include:

using System;

using System.Data;

然后,使用C#编译器csc.exe编译代码。假定将前面的代码保存为文件hello.cs,使用以下命令:

csc hello.cs

结果就生成了hello.exe,它向控制台输出窗口写入信息 "Hello .NET"。

尽管编译后的结果文件包含.exe后缀,但hello.exe却不是一个真正的、明确的CPU代码段。实际上,它包含了.NET字节代码。当启动hello.exe时,CLR 将提取编译器写入代码中的重要元数据。接着,一个叫做 Just-In-Time 编译器的模块将代码映射到特定的 CPU中,开始实际的执行过程。

七、C# 和名称空间

实际中的 C#程序通常包含多个文件,其中每个文件都可以包含一个或多个名称空间。一个名称空间就是一个名字,它向编译器描绘出一些软件实体,如类、界面、枚举以及嵌入的名称空间。名称空间和数据类型一样必须有唯一的名称。在一个C#程序中,可以通过一个元素的完整资格名称来识别它,这个资格名称表明出层次关系。例如,System.String是 .NET String类型完整的资格名称。但是为了简化代码起见,只要声明正在使用System名称空间:

using System;

就可以使用一个相对名称如String来作为完整名称的同义词,而最后依然代表 System.String。

通过使用namesapce关键字,我们还可以将C#程序或者类包裹在自身的名称空间中,比如:

namespace MyOwn

{

using System; // for String

class MyFirstApp

{

static int Main(String[] args)

{

System.Console.WriteLine ("Hello .NET");

return 1;

}

}

名称空间 MyOwn 是全局名称空间的一部分。调用它不需要再使用前缀,因为其完整资格名称就是简单的MyOwn。定义一个名称空间是保持公共名称唯一性的一个途径。实际上,如果两个类的名称发生冲突,但只要它们分别属于不同的名称空间,两个类仍然是各自唯一的。

八、C#中一个经典例程的编写与编译

1、编写代码

“Hello World”几乎是学习任何一门编程语言都要涉及的第一个例程。下面也让我们用C#完成这个工作。在上面提到的任意一个C#编辑器中(比如写字板),键入以下代码

然后保存为文件myclass.cs

using System;class MyClass { static void Main() { Console.WriteLine("Hello World!"); }}

2、编译程序

注意:C#编译器要要求至少一个自变量,比如文件名。假设你的C# 文件名是myclass.cs,现在用命令行程序csc.exe来编译上面的myclass.cs文件:

csc myclass.cs

于是,C# 编译器在工程文件的bin 目录下生成了一个myclass.exe文件。运行这个 exe,看输出是什么。

3、代码含义

下面我们逐行看看这些代码的含义:

程序的第一行是using System。为什么要using System呢?因为System是存储系统类的名称空间,程序中用来在控制台上显示输出的Console(控制台)类就是在System 名称空间中定义的。

下一行是class MyClass。C# 中的class关键字用于创建一个新类。 每个类都有一个静态的void Main() 函数,这个函数就是一个 C# 程序的入口。

Console 类的WriteLine方法负责向控制台输出文本信息。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/15082411/viewspace-429403/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-08-05

  • 博文量
    13
  • 访问量
    10734