第一章 用Hello ACCP.NET快速热身(一)

前言

简单的说,.NET Framework 是一个创建、部署和运行应用程序的多语言平台环境,包含了庞大的代码库,各种.NET语言都可以共用这些代码。

C#(C Sharp)是一种强大的、面向对象的程序开发语言,是专门用于.NET的编程语言,用C#编写的所有代码总是在.NET Framework中运行。

集成开发环境(IDE),就是微软提供的Visual Studio.NET(简称VS),它集成了.NET Framework,利用Visual Studio.NET可以快速开发.NET应用程序

本书使用的是最新版本 Visual Studio.NET 2005,支持.NET Framework 2.0

1¥ 第一个C#程序

创建并运行控制台应用程序包括3步

新建项目
生成解决方案
调试

1$ 新建项目(项目:project)

“文件”-“新建”-“项目”
左侧项目类型选“VisuaC#”,右侧模板列表选择“控制台应用程序”
2$ 生成解决方案(Build Solution)
“生成”-“生成解决方案”
如果错误列表中没有显示错误和警告,状态栏中显示“生成成功”

3$ 调试(debug)
“调试”-“启动调试”

另外:

生成解决方案的快捷键:Ctrl+shift+B

调试的快捷键:F9、F10

2¥ 认识控制台应用程序文件夹结构

1$ VS会在存储路径下创建一与项目同名的文件夹,称作解决方案文件夹。

2$ 解决方案文件夹和项目都是VS提供的有效管理应用程序的容器
   一个解决方案文件夹可以包含一个或多个项目,每个项目解决一个独
   立的问题(可以在解决方案下增加不同的项目)

3$ VS提供了一个窗口“解决方案资源管理器”,可以管理解决方案中包含
   的各类文件。

4$ 目前必须认识的两个文件

1.。Program.cs文件:程序源文件,保存编写的源代码,扩展名为cs.
    在解决方案资源管理器中双击Program.cs文件及可以打开。

2.。项目名.exe(如HelloACCP.exe):
    编译项目后生成的可执行文件,可以直接运行。
    位于bin\Debug目录下

3¥ 认识C#程序

示例1:
  using System;
  using System.Collections.Generic;
  using System.Text;

  namespace HelloAccp
  {
    class Program
    {
      static void Main(string[ ] args)
      {
        Console.WriteLine(“Hello ACCP .NET”);
        Console.Read( );
       }
     }
   }

1$ namespace 关键字:---对应于解决方案文件名或项目名
   namespace(命名空间)是C#中组织代码的方式,作用类似于Java中
   的package

2$ using关键字
   在Java中,如果倒入其他包,应该使用import关键字,而在C#中,
   使用using关键字来引用其他命名空间。

3$ class关键字
   与Java一样,C#使用class关键字表示类
   编写任何程序都含在一个类里,类要包含在一个命名空间中(包)
   VS自动默认类名为Program,可以更改
   C#与Java不同,不要求类名与源文件名相同

4$ Main方法
   C#中的Main( )方法首字母必须大写
   Main( )的返回值只能是void或者int
   Main( )方法中的命令行参数可以没有,如果有则只能是字符串型数组

   Main方法的四种可选形势(仅此四种):
       static void Main(string[] args) { }    无返回值,有参数
       static int Main(string[] args) { }  返回值整型,有参数
       static void Main( ) { }           无返回值,无参数
       static int Main( ) { }            返回值整型,无参数

C#中的Main( )方法的4种形式

static void Main(string[ ] args) { 方法体 }
静态、无返回值、带有命令行参数的Main方法形式

static int Main(string[ ] args) { 方法体 }

静态、返回值为整型、带有命令行参数的Main方法形式

static void Main( ) { 方法体 }
静态、无返回值、没有命令行参数的Mani方法形式

static int Main( ) { 方法体 }
静态、返回值为整型、没有命令行参数的Main方法形式

即:M必须大写,只有int或void两种返回值,参数可有可无。

5$ 关键代码:详见后第四节

4¥ C#中的变量和运算符

1$ C#中的数据类型(常用的,完整的数据类型表见附录1)

C#数据类型与Java数据类型的比较
   常用数据类型   Java       C#

   整型           int         int
   浮点型         float       float
   字符串型       String      string
   布尔型         Boolean    bool

注意:

C#中的布尔类型关键字与Java不同,使用bool.
C#中的字符串类型关键字都是小写的,使用string.

2$ C#中变量的命名

语法:
     访问修饰符    数据类型  变量名称;

命名规范(同Java,少了一个$,暂略)

3$ C#中的运算符(同Java暂略)

5¥ C#中的注释

单行注释://

块注释:/*。。。*/

文档注释:/// 文档注释的每一行都以“///”开头

注视规范:

关键性的语句要使用注释:如变量声明、条件判断、循环等
类名前应使用文档注释,说明类的简单功能和使用方法
复杂方法前使用文档注释,说明方法的功能,参数的含义、返回值等。

6¥ Console 类

     Console是C#中的控制台类,用于进行控制台的输入和输出
     常用输出方法:
         Console.WriteLine( )     输出后换行
         Console.Write( )         输出后不换行

     常用输入方法:
          Console.ReadLine( )     使输出窗口等待用户输入
          如无这句代码,窗口在运行结束后按任意键自动关闭 

1$ 向控制台输出(利用Console.Write()方法输出的3种方式)

   方式一:  Console.WriteLine( );    //换行
   方式二:  Console.WriteLine(要输出的值)
   方式三:  Console.WriteLine(“格式字符串”,变量列表)

   说明:方法一、二同Java中的System.out.println( )

         方法三示例如下:

               string course = “C#”
               Console.WriteLine(“我的课程名称是:{0}”,course);

         {0}叫做占位符,它占的就是后面的course变量的位置
            依次使用{0}、{1}、{2}……代表输出的变量

         变量出现的位置只与占位符的值有关,与占位符的位置无关,
         即:占位符的位置可以变换,但变量仍旧按照占位符的值依次
             代替

          用原来学过的Java中的“+”方法可以同样实现占位符的功能,
          但较繁,一般不用。

          在格式字符串中,也可以使用\n、\t来控制输出

2$ 从控制台输入

     语法:  Console.ReadLine( );

             返回一个字符串,可以直接把它赋给一个字符串变量,如:
             string name = Console.ReadLine( );

             如果要输入整型数据可以进行简单的转换,如:
             int age = int.Parse (Console.ReadLine( ));
             int.Parse( ) 方法作用是把字符串转换为整数(详见第三章)

    另外:Console.WriteLine( ) 的快捷键----cw+TAB+TAB

特别注意:Console.ReadLine( );的返回值是string类型的
          Console.Read( );的返回值是整型的,将返回读取内容的ASCII码值

          Console.WriteLine();与Console.Write(); 同理

7¥ C#中的条件判断

    if、if…..else…..、switch
    基本与Java相同,但switch与Java有所不同

If(暂略 同Java)

If….else…..(暂略 同Java)

Switch与Java中的不同点
1.。C#要求每个case和default语句必须有break语句,除非两个case
    中间没有其他语句,则前一个case可以不包含break。

亦即:case中只要有语句,就必须有break。
      default中只要有语句,就必须有break.

2.。C#中switch的判断表达式或变量除了整型、字符型,还可以是字
    符串型。

另外:

改正错误时,一般从最上面的一条错误信息开始
显示行号的方法:“工具”—“选项”—“文本编辑器”—“C#”,
选择右边的“显示”—“行号”选项即可。