当前位置:编程学习 > C#/ASP.NET >>

前言(补充)和第三章第一个C#程序

前言
0.1  提要
    欢迎阅读《展现 C#》(Presenting C#)。这本书是你提高企业编程语言的一条捷径。这种企业编程语言带有下一代编
程语言服务运行时(NGWS Runtime):C#(发音"C sharp")。
    NGWS Runtime 是一个不仅管理执行代码、同时也提供使编程更加容易的动态环境。编译器产生受管代码以指向这种受
管理执行环境。你获得跨平台语言集成、跨平台语言异常处理、增强安全性、版本控制、安排支持和查错服务。
    支持NGWS Runtime 的主要语言是C#。支持NGWS框架的很多程序是用C#写的,因此,在一些带有NGWS Runtime的编译器
中,它的编译器可以被认为是非常经得起测试且是经过优化的。C#语言借鉴了C++,但是具备现代化和新增的类型安全——
使C#成为企业解决方案的首选语言。

0.2  谁应该读这本书
     如果你对编程很陌生,这本书不适合你。这本书企图让程序员解脱并使用C#,基于他们已经拥有的知识。《展现
C#》的目标瞄准了已经具有如C/C++、VB、Java或其它编程经验的程序员。
     如果你具有C++的背景,转向C#会很容易,但是,如果你精通于其它不同的语言,这本书也会耗掉你的一些日子。如
果你有一点COM编程的知识,这本会更有趣,但会COM编程不再是必要的。

0.3  这本书如何组织
     第一章  C#简介——这一章把你带到C#逛一回,同时回答了有关你应该考虑学习C#的问题。
     第二章  NGWS Runtime 的技术基础——介绍NGWS Runtime为运行的C#代码所提供的低层架构。
     第三章  第一个C#应用程序——创建真正第一个C#应用程序(否则它是什么呢?),它就是一个"Hello World"应用程
序。
     第四章  C#类型——可以看到用在C#应用程序中的各种类型。探索值型和引用型的区别,还有如何加框和消框。
     第五章  类——C#功能真正强大的标志,它是具有类的面向对象的编程。你会学到好多好多的东西,如构造函数、析
构函数、方法、属性、索引和事件等。
     第六章  控制语句——对应用程序实行流程控制。探索C#提供的各种选择和陈述语句。
     第七章  异常处理——获得了编写实现异常处理的应用程序技巧,拥有这种技巧,在NGWS Runtime世界,你是一个好
的公民
     第八章  用C#写组件——用C#构建组件,因为支持NGWS Runtime,它可以被不同语言平台的客户使用。
     第九章   配置和安排——学到如何用C#有条件地进行编译工作,和如何为你的C#源码自动地创建文档。另外,这一
章将介绍到NGWS的版本技术问题。
     第十章   用非受管代码交互操作——发现你如何使用C#内部的非受管代码,且非受管代码如何与你的C#组件一起交
互操作。
     第十一章  C#代码查错——获得使用SDK查错工具的技巧,可以在应用程序中准确地找到错误并修改它们。
     第十二章  安全——探索NGWS Runtime的安全概念。学到代码访问安全性和基于角色的安全性。

0.4 使用这本书你需要什么?
     从这本书的观点看,你所需要的就是下一代windows服务软件开发包(NGWS SDK)。尽管至少只要有NGWS Runtime 和C#
编译器就可以,但当探索这些激动人心的新技术功能 时,在一台机器上装有说明文件档和所有的SDK工具(包括
debugger),将是一个极好的主意。
     这本书不需要你装在机器上的Visual Studio 7的任何工具。我仅建议你要有一个优秀的支持行数的程序编辑器,用
以编辑C#源文件。
     ……
     (省略掉一些有关出版过程和表示感谢的段落)

0.5 关于作者
     Christoph Wille,微软系统工程师(MCSE)、微软系统开发师(MCSD)、Netware网络管理员(CNA)和MCP-IT,作为一个
网络咨询人员和程序员,特别精通Windows  DNA。微软认为他是ASP方面最有价值的人(MVP),他是和微软在一起使用早期
的C#版本的少数开发者之一。
     Christoph 独自或参与了几本书的写作,包括Sams出版社的《自学ADO2.5  21天》、《自学ASP  24小时》、《自学
MCSE TCP/IP 14天》和《MCSE 训练指南:SQL Server 7管理》。



                                第三章     第一个C#应用程序

3.0   选择一个编辑器
         尽管我是一个顽固的Notepad狂,但这次我不建议用它编辑源码。原因是你正在与真正的编程语言打交道,使用
Notepad编辑源码编译时可能产生大量的错误信息行(C++程序员知道我在说什么。)
         你有几种选择。可以重新配置你信任的老式Visual C++ 6.0,使它能够和C#源文件一起工作。第二种选择是使用
新的Visual Studio 7。第三,你可以用任何第三方程序编辑器,最好要支持行数、色彩编码、工具集成和良好的搜索功
能。CodeWright就是其中一个例子,如图3.1所示。

         图3.1 CodeWright 是你可以用于创建C#代码文件众多可能编辑器中的一个。

        当然,在所提到的编辑器中,没有一个对创建C#程序来说是必要的。用Notepad肯定可以编辑。但是,如果你考虑
到要编写更大的项目,最好还是忍痛割爱吧。

3.1  "Hello World" 代码
        讨论编辑器有点离题 ,让我们把话题转回到一个非常出名的小应用程序。这个最短的C#版本应用程序见清单
3.1。把它存起来,文件名为 helloworld.cs,以便使你能按照说明,完成诸如编译应用程序等其它余下来的步骤。

        清单 3.1   最简单的 "Hello World "程序

         1: class HelloWorld
         2: {
         3:  public static void Main()
         4:  {
         5:   System.Console.WriteLine("Hello World");
         6:  }
         7: }

        在C#中,代码块(语句组)由大括弧({和})所括住。所以,甚至你以前没有C++的经验,你也可以说出Main()方法就
是HelloWorld 类语句的一部分,因为类被括在所定义的大括弧中。
        C#应用程序(可执行)的入口点就是 static Main 方法,它必须包含在一个类中。仅有一个类能使用该标志定义,
除非你告诉编译器它应使用哪一个 Main 方法(否侧,会产生一个编译错误)。
        和C++相比,Main的第一个字母是大写的M,而不是你曾经使用过的小写字母。在这个方法中,你的程序开始并结
束。方法中可以调用其它方法——如这个例子中,用于输出文本——或者创建对象并激活该方法。
        正如你所看到的,Main方法返回一个void类型。
        public static void Main()
        尽管看到这些语句时,C++程序员肯定会觉得似曾相识,但是其他程序员并不如此。首先,public 的访问标志告
诉我们这个方法可以被任何程序访问,这是它被调用的必要条件。其次,static 意味着没有先创建类的实例也可以调用方
法——你所要做的就是用类名调用方法。
        HelloWorld.Main();
        但是,我不赞成在Main方法中执行这行代码,递归会导致堆栈溢出。
        另一重要的方面是返回类型。对于方法Main,可选择void (意味着根本就没有返回值),或用int 为整型结果(应
用程序返回的错误级别)。因此,两种可能的Main方法为:
        public static void Main()
        public static int Main()

        C++程序员会同样知道后面
补充:软件开发 , C# ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,