Discover C# 2.1 C#语言的基本结构

Discover C# 2.1 C#语言的基本结构

我们研究一下1.6.1的控制台的C#程序的代码

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace ConsoleApp2
 8 {
 9     class Program
10     {
11         static void Main(string[] args)
12         {
13             Console.WriteLine("Hello world!");
14         }
15     }
16 }

这一个代码片段总共有16行,我们一个一个来分析。

1-5行都是以using开头,后加一个空格,再跟上一串代码,以分号结束。表示在程序中直接用命令空间中的类型,而不必指定类型的详细命名空间。简单地说就是把程序运行过程中要使用的其他模块引入进来。

6行是一个空行,可有可无。

7行和8行以及16行,三行,是命名空间代码块。第7行以namespace开始,后跟ConsoleApp2,表示定义一个命名空间,这个空间的名字是ConsoleApp2。第8行,一个大括号开始,表示命名空间的开始界限;第16行大括号结束,表示命名空间的结束界限。先把命名空间比喻成一个房间就行了。

9行和10行以及15行,三行,是类的代码块。第9行以class开始,后跟类名称Program,表示定义了一个类,这个类的名字是Program。第8行,一个大括号开始,表示类的开始界限;第15行大括号结束,表示类的结束界限。类是面向对象编程(OOP)的核心,先把类比喻成一个人。

11行和12行以及14行,三行,是方法的代码块。第11行以static修饰符开始,中间加上了void返回类型,后跟方法名称Main(),以字符串数据组(string[] args)为参数,表示定义了一个无返回值的静态方法。第12行,一个大括号开始,表示方法的开始界限;第14行大括号结束,表示方法的结束界限。方法是功能模块,先把方法比喻成写字。C#语言中程序的执行入口就是Main()方法。接下来的几节里,我们的代码都在Main()方法中编写。

第13行,一行,是Main()方法的代码块。只有一句代码,以Console开始,紧跟一个点,紧跟着一个是WriteLine()方法,WriteLine()方法的括号中包含了字符串Hello world!,最后以分号结束,表示在控制台上输出Hello world!这个字符串。这是一个语句。

这段代码的含义是在控制台上输出Hello world!这个字符串,比照着代码,机械地理解就是在ConsoleApp2命名空间的Program类中的Main()方法执行了在控制台上输出Hello world!字符串的语句。这样理解当然没什么意义,毕竟现在我的代码只有这么点,想全部理解透彻根本做不到。按照上面比喻的理解就是,在某个房间里的一个人写出了Hello world!这几个字。

 

先记住几个基本的概念和原则。

代码块:大括号括起来的代码语句。括起来的这段代码属于何种类型以其前面的定义标识符决定。有开始括号必须有结束括号。

方法:方法就是一段可以被重复调用的代码块。也叫函数,也叫子程序。是一个功能块,使用这个方法,实现特定目的。如ToUpper()方法可以将小写字母转换成大写字母。

1个字符叫字符,只表示一个字符,如A、B、c、d;2个以及多个字符叫字符串,字符串可以是一句话,一段话等等,如GOODBYE、Hi,Baby!。

程序的执行从Main()方法开始。

所有的语句都以分号结束(;),一条语句最终的结束符号是分号,不按照是否换行来决定。有时,为了清晰明了阅读代码,一条语句可以写在几行里。也可以将全部的语句写在一行里,代码执行没问题,就是不方便阅读。

C#语言区分大小写,C#语言代码部分的标点符号必须是英文半角的。

 

编程中的英文单词叫关键词或控制符, 编程语言和英语不是一类东西,英语好编程也不一定好,但是英文不好,肯定是提升编程的障碍。虽然编程不同等于英语,但涉及的部分英文单词有必要再温习一下:

using使用,利用

system系统

name名字

space空间,空地

namespace命名空间,名字域

console控制台,操作台,仪表盘

class分类,类别,班级

program程序,编码指令

static静止的,静态的

void空的,空白的

main主要的,最重要的

string一串,一系列

argument论点,这里表示参数

write写

line线,线条

 

posted @ 2020-09-15 14:41  Surfnet  阅读(162)  评论(0)    收藏  举报