第1章 搭建C#开发环境
(视频讲解:1小时12分钟)
软件在现代人们的日常生活中随处可见,比如,大家使用的Windows操作系统、智能手机中的各种应用等都是软件。那么,这些软件是如何生成的呢?我们能不能开发自己的软件呢?答案是肯定的。本章将带领大家了解C#语言及其使用的Visual Studio 2017开发环境,其中,C#是微软公司推出的一种语法简洁、类型安全的面向对象的编程语言,使用它就可以开发各种软件,而Visual Studio 2017开发环境则是进行C#开发最好的工具。
通过学习本章,读者主要掌握以下内容:
了解软件及其相关的几个概念
熟悉C#与.NET Framework
掌握Visual Studio 2017的安装步骤
熟悉Visual Studio 2017开发环境
1.1 了解软件
视频讲解
随着计算机的普及,计算机中的软件对人们的日常生活和工作也显得越来越重要。例如,大家在聊天时经常用的QQ软件(如图1.1所示)。在工作中使用的Office软件(如图1.2所示),在处理照片时使用的美图秀秀软件(如图1.3所示),在观看视频时使用的优酷视频播放软件(如图1.4所示)等。
图1.1 QQ软件
图1.2 Office办公软件之Excel
图1.3 美图秀秀软件
图1.4 优酷视频播放软件
以上都是我们在平时经常用到的一些软件,那么,到底什么是软件呢?
软件其实是一种计算机程序,而计算机程序是指为了得到结果,由计算机等具有信息处理能力的硬件装置执行的代码化指令集合。
计算机程序告诉计算机如何完成一个具体的任务,由于现在的计算机还不能理解人类的自然语言,所以不能用自然语言编写计算机程序,这时就需要借助计算机语言(即程序设计语言),它是人和计算机交流信息的工具,可以通过计算机语言指挥计算机如何工作。
综上所述,一个软件的生成过程为:程序员将由计算机语言组成的代码输入计算机中,计算机对代码进行解释编译,最后由计算机生成软件,如图1.5所示。
图1.5 软件的生成
1.2 软件开发相关的概念
视频讲解
计算机程序中涉及的概念都比较抽象、专业。本节将对常见的与软件开发相关的常用概念进行介绍。
1. 算法
算法是指对计算机工作步骤和方法的描述,算法的每一个步骤都是严格规定好的,能够被计算机识别并正确执行,并且每一个步骤都能够被计算机理解为一个或者一组唯一的动作,而不会使计算机产生歧义。算法必须有开始和结束,并且必须保证算法规定的每一个步骤最终都能够被完成。
下面通过一个例子来说明算法。例如,要交换变量a与变量b的值,计算机本身不能够直接执行这个操作,交换两个变量值的通用方法是借用第三方变量作为临时变量。具体算法描述如下:
(1)将变量a的内容赋值给临时变量c。
(2)将变量b的内容赋值给变量a。
(3)将临时变量c存放的内容赋值给变量b。最终算法可以写成:
综上所述,算法实际上就是用自然语言描述的一个计算机程序,编写计算机程序就是把用某种方式描述的算法,通过计算机语言重新对其进行描述。
2. 数据结构
图1.6 树结构示意图
数据结构是一种计算机存储、组织数据的方式,数据很好理解,比如我们去买东西,共花了50元钱,这个50就是一个准确的数据。在计算机中,数据有整数、实数、字符串、图像和声音等多种类型,而数据结构就是指各种类型数据之间的相互关系。常见的数据结构有数组、栈、队列、链表、树、图等。例如,图1.6是一个树结构。
3. IDE
IDE是Integrated Development Environment的缩写,表示“集成开发环境”,它是一种用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试工具和图形化用户界面工具等,例如,用于开发C#程序的Visual Studio(如图1.7所示)、用于开发Java程序的Eclipse(如图1.8所示)等都是集成开发环境。
图1.7 Visual Studio集成开发环境
图1.8 Eclipse集成开发环境
4. SDK
SDK是Software Development Kit的缩写,中文意思就是“软件开发工具包”,这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、实例和工具的集合都可以叫作SDK。例如,在使用C#语言进行开发之前,需要安装由微软公司推出的.NET SDK(即.NET软件开发工具包)。
5. 编译
编译是把计算机语言变成计算机可以识别的二进制语言,由于计算机只识别0和1,所以编译程序就是把使用计算机语言编写的程序编译成计算机可以识别的二进制程序的过程。
1.3 C#语言入门
视频讲解
C#(读作C Sharp)是一种面向对象的编程语言,主要用于开发运行在.NET平台上的应用程序,C#的语言体系都构建在.NET框架上。通过TIOBE编程语言排行榜(如图1.9所示)可以看出,C#长期居于主流编程语言行列,这也说明了C#语言被越来越多的人所认可和使用。本节将详细介绍C#语言的特点以及C#与.NET的关系。
图1.9 TIOBE编程语言排行榜
1.3.1 C#语言的发展
C#是微软公司在2000年6月发布的一种编程语言,主要由Anders Hejlsberg(Delphi和Turbo Pascal语言的设计者)主持开发,它主要是微软公司为配合.NET战略推出的一种全新的编程语言。
轻松一刻
在Java出现之后,Anders Hejlsberg在Borland公司一直郁郁不得志,这时,比尔·盖茨慧眼识才,三顾茅庐,把Anders Hejlsberg请到了微软。最开始微软许以重金,但Anders Hejlsberg不为所动,当清楚Anders Hejlsberg的想法后,比尔·盖茨答应给他一个宽松的环境—领导Visual J++小组,并提供薪水和红利奖金300万美元。好景不长,SUN公司认为微软破坏了Java的跨平台性,很快微软就会利用它的VJ++将Java开发人员拉拢到它的周围,而它的VJ++以及WFC的很多特性明显是为了Windows平台设计,这样,SUN公司中止了对微软的Java授权,这促使微软选择Anders Hejlsberg担任C#的首席设计师,从而开发并设计了C#语言。
C#语言本身是为了配合.NET战略推出的,因此其发展变化一直是和.NET的发展相辅相成的,其版本发展历程如图1.10所示。
图1.10 C#的发展历程
说明
由于C#是与.NET相辅相成的,因此,图1.10中的C#版本变化其实也体现了.NET的版本发展史,关于.NET,将在1.3.3节进行介绍;另外,微软曾在2006年发布过一个.NET 3.0版本,但该版本并没有对应的C#版本推出,而使用的还是原来的C# 2.0版本,所以图1.10中并没有体现。
1.3.2 C#语言的特点
C#语言的主要特点如下:
(1)语法简洁,不允许直接操作内存,去掉了指针操作。
(2)彻底面向对象设计,C#具有面向对象语言所应有的一切特性:封装、继承和多态。
(3)与Web紧密结合,C#支持绝大多数的Web标准,例如HTML,XML,SOAP等。
(4)强大的安全性机制,可以消除软件开发中常见的错误(如语法错误),.NET提供的垃圾回收器能够帮助开发者有效地管理内存资源。
(5)兼容性,因为C#遵循.NET的公共语言规范(CLS),从而保证能够与其他语言开发的组件兼容。
(6)完善的错误、异常处理机制,C#提供了完善的错误和异常处理机制,使程序在交付应用时能够更加健壮。
1.3.3 认识.NET Framework
.NET Framework又称.NET框架,它是微软公司推出的完全面向对象的软件开发与运行平台,它有两个主要组件,分别是公共语言运行时(Common Language Runtime,CLR)和类库,如图1.11所示。
图1.11 .NET Framework的组成
下面分别对.NET Framework的两个主要组成部分进行介绍。
- 公共语言运行时:公共语言运行时(CLR)负责管理和执行由.NET编译器编译产生的中间语言代码(.NET程序执行原理如图1.12所示)。在公共语言运行时包含两部分内容,分别为CLS和CTS,其中,CLS表示公共语言规范,它是许多应用程序所需的一套基本语言功能;而CTS表示通用类型系统,它定义了可以在中间语言中使用的预定义数据类型,所有面向.NET Framework的语言都可以生成最终基于这些类型的编译代码。
图1.12 .NET程序执行原理
说明
中间语言(IL或MSIL,Microsoft Intermediate Language)是使用C#或者VB.NET编写的软件,只有在软件运行时,.NET编译器才将中间代码编译成计算机可以直接读取的数据。
类库:类库里有很多编译好的类,可以拿来直接使用。例如,进行多线程操作时,可以直接使用类库里的Thread类;进行文件操作时,可以直接使用类库中的IO类等。类库实际上相当于一个仓库,这个仓库里面装满了各种工具,可以供开发人员直接使用。
1.3.4 C#与.NET Framework
.NET Framework是微软公司推出的一个全新的开发平台,而C#是专门为与微软公司的.NET Framework一起使用而设计的一种编程语言,在.NET Framework平台上开发时,可以使用多种开发语言,如C#,VB.NET,VC++.NET,F#等,而C#只是其中的一种。
说明
运行使用C#开发的程序时,必须安装.NET Framework,.NET Framework可以随Visual Studio 2017开发环境一起安装到计算机上,也可以到www.microsoft.com/zh-cn/download/details.aspx?id=30653网站下载单独的安装文件进行安装。
1.3.5 C#的应用领域
C#几乎可用于所有领域,如便携式计算机、手机或者网站等,其应用领域主要包括:
◆ 游戏软件开发
◆ 桌面应用系统开发
◆ 智能手机程序开发
◆ 多媒体系统开发
◆ 网络系统开发
◆ RIA应用程序(Silverlight)开发
◆ 操作系统平台开发
◆ Web应用开发
例如,我们经常使用的免费视频播放软件PPTV桌面版、金融巨头中国工商银行官方网站、国内最大的分类信息网58同城官方网站、国内旅游巨头携程旅行网官方网站等项目都是使用C#编写的,它们的效果分别如图1.13~图1.16所示。
图1.13 PPTV播放器
图1.14 中国工商银行官方网站
图1.15 58同城官方网站
图1.16 携程旅行网官方网站
很多的知名公司企业都将C#作为其项目开发的主要语言,如中国移动、明日科技、百度、微软、优酷等,如图1.17所示。
图1.17 使用C#的知名公司企业
1.4 Visual Studio 2017的安装与卸载
视频讲解
Visual Studio 2017是微软为了配合.NET战略推出的IDE开发环境,同时也是目前开发C#程序最新的工具,本节将对Visual Studio 2017的安装与卸载进行详细讲解。
1.4.1 安装Visual Studio 2017必备条件
安装Visual Studio 2017之前,首先要了解安装Visual Studio 2017所需的必备条件,检查计算机的软硬件配置是否满足Visual Studio 2017开发环境的安装要求,具体要求如表1.1所示。
表1.1 安装Visual Studio 2017所需的必备条件
1.4.2 安装Visual Studio 2017
本节以Visual Studio 2017社区版的安装为例讲解具体的安装步骤。
说明
Visual Studio 2017社区版是完全免费的,其下载地址为:https://www.visualstudio.com/zh-hans/downloads/。
安装Visual Studio 2017社区版的步骤如下:
(1)Visual Studio 2017社区版的安装文件是exe可执行文件,其命名格式为“vs_community__编译版本号.exe”,这里笔者下载的安装文件为vs_community__1978667224.1494576159.exe,双击该文件开始安装。
说明
安装Visual Studio 2017开发环境时,计算机上要求必须安装了.NET Framework 4.6框架,如果没有安装,请先到微软官方网站下载并安装。
(2)程序首先跳转到如图1.18所示的Visual Studio 2017安装程序界面,在该界面中单击“继续”按钮。
图1.18 Visual Studio 2017安装界面(1)
(3)程序加载完成后,自动跳转到安装选择项界面,如图1.19所示,该界面主要将“通用Windows平台开发”“.NET桌面开发”和“ASP.NET和Web开发”这3个复选框选中,其他的复选框,读者可以根据自己的开发需要确定是否选择安装;选择完要安装的功能后,在下面“位置”处选择要安装的路径,这里建议不要安装在系统盘上,可以选择一个其他磁盘进行安装,例如,这里笔者将其安装到了D盘。设置完成后,单击“安装”按钮。
图1.19 Visual Studio 2017安装界面(2)
注意
在安装Visual Studio 2017开发环境时,计算机一定要确保处于联网状态,否则无法正常安装。
(4)跳转到如图1.20所示的安装进度界面,该界面显示当前的安装进度。
图1.20 Visual Studio 2017安装界面(3)
(5)安装完毕后,自动进入安装完成页,如图1.21所示。该界面中,可以直接单击“启动”按钮,启动新安装的Visual Studio 2017开发环境,也可以在系统的开始菜单中,选择“Visual Studio 2017”菜单启动该开发环境。
图1.21 Visual Studio 2017安装界面(4)
说明
在安装完成界面可能会出现一个“Android SDK”相关的警告信息,这些警告信息不影响Visual Studio 2017开发环境的正常使用,忽略即可。
如果是第一次启动Visual Studio 2017,会出现如图1.22所示的提示框,直接单击“以后再说”超链接,进入Visual Studio 2017开发环境的主界面。Visual Studio 2017开发环境主界面如图1.23所示。
图1.22 启动Visual Studio 2017
图1.23 Visual Studio 2017主界面
1.4.3 卸载Visual Studio 2017
如果要卸载Visual Studio 2017开发环境,可以按以下步骤进行:
(1)在Windows 7操作系统中,打开“控制面板”→“程序”→“程序和功能”,在打开的窗口中选中“Microsoft Visual Studio 2017”,如图1.24所示。
(2)单击“卸载”按钮,进入Visual Studio 2017的卸载页面,如图1.25所示,单击“Uninstall”按钮,即可卸载Visual Studio 2017。
图1.24 添加或删除程序
图1.25 Visual Studio 2017的卸载页面
1.5 熟悉Visual Studio 2017开发环境
视频讲解
本节对Visual Studio 2017开发环境中的菜单栏、工具栏、解决方案资源管理器、“工具箱”窗口、“属性”窗口和“错误列表”窗口等进行介绍。
1.5.1 创建项目
初期学习C#语言和面向对象编程主要在Windows控制台应用程序环境下完成,下面将按步骤介绍控制台应用程序的创建过程。
创建控制台应用程序的步骤如下:
(1)选择“开始”→“所有程序”→Visual Studio 2017,进入Visual Studio 2017开发环境起始页,如图1.26所示。
图1.26 Visual Studio 2017起始页
(2)启动Visual Studio 2017开发环境之后,可以通过两种方法创建项目—一种是在菜单栏中选择“文件”→“新建”→“项目”命令,如图1.27所示;另一种是在起始页中选择“新建项目”板块中的相应命令,如图1.28所示。
图1.27 菜单栏中选择“文件”→“新建”→“项目”菜单
图1.28 选择“新建项目”模块中的相应命令
(3)选择其中一种方法创建项目,弹出如图1.29所示的“新建项目”对话框。
图1.29 “新建项目”对话框
说明
在图1.29中选择“Windows窗体应用(.NET Framework)”,即可创建Windows的窗体程序。
(4)选择要使用的.NET框架和“控制台应用(.NET Framework)”后,用户可对所要创建的控制台应用进行命名、选择存放位置、是否创建解决方案目录等设定(在命名时可以使用用户自定义的名称,也可使用默认名ConsoleApp1;用户可以单击“浏览”按钮设置项目存放的位置。需要注意的是,解决方案名称与项目名称一定要统一),然后单击“确定”按钮,完成控制台应用程序的创建。
1.5.2 菜单栏
菜单栏显示了所有可用的Visual Studio 2017命令,除了“文件”“编辑”“视图”“窗口”和“帮助”菜单之外,还提供编程专用的功能菜单,如“项目”“生成”“调试”“工具”和“测试”等,如图1.30所示。
每个菜单项中都包含若干个菜单命令,分别执行不同的操作,例如,“调试”菜单包括调试程序的各种命令,如“开始调试”“开始执行”和“新建断点”等,如图1.31所示。
图1.30 Visual Studio 2017菜单栏
图1.31 “调试”菜单
1.5.3 工具栏
为了操作更方便、快捷,菜单项中常用的命令按功能分组分别放入相应的工具栏中。通过工具栏可以快速地访问常用的菜单命令。常用的工具栏有标准工具栏和调试工具栏,下面分别介绍。
(1)标准工具栏包括大多数常用的命令按钮,如新建项目、添加新项、打开文件、保存、全部保存等。标准工具栏如图1.32所示。
图1.32 Visual Studio 2017标准工具栏
(2)调试工具栏包括对应用程序进行调试的快捷按钮,如图1.33所示。
图1.33 Visual Studio 2017调试工具栏
说明
在调试程序或运行程序的过程中,通常可用以下4种快捷键来操作:
(1)按下F5快捷键实现调试运行程序;
(2)按下Ctrl+F5快捷键实现不调试运行程序;
(3)按下F11快捷键实现逐语句调试程序;
(4)按下F10快捷键实现逐过程调试程序。
1.5.4 解决方案资源管理器
解决方案资源管理器(如图1.34所示)提供了项目及文件的视图,并且提供对项目和文件相关命令的便捷访问。与此窗口关联的工具栏提供了适用于列表中突出显示项的常用命令。若要访问解决方案资源管理器,可以选择“视图”→“解决方案资源管理器”命令打开。
图1.34 解决方案资源管理器
1.5.5 “工具箱”窗口
工具箱是Visual Studio 2017的重要工具,每一个开发人员都必须对这个工具箱非常熟悉。工具箱提供了进行C#程序开发所必需的控件。通过工具箱,开发人员可以方便地进行可视化的窗体设计,简化了程序设计的工作量,提高了工作效率。根据控件功能的不同,将工具箱划分为10个栏目,如图1.35所示。
说明
“工具箱”窗口在Windows窗体应用程序或者ASP.NET网站应用程序才会显示,在控制台应用程序中没有“工具箱”窗口,图1.35中显示的是Windows窗体应用程序中的“工具箱”窗口。
单击某个栏目,显示该栏目下的所有控件,如图1.36所示。当需要某个控件时,可以通过双击所需要的控件直接将控件加载到Windows窗体中,也可以先单击选择需要的控件,再将其拖动到Windows窗体上。
图1.35 “工具箱”窗口
图1.36 展开后的“工具箱”窗口
1.5.6 “属性”窗口
“属性”窗口是Visual Studio 2017中另一个重要的工具,该窗口为C#程序的开发提供了简单的属性修改方式。Windows窗体中的各个控件属性都可以由“属性”窗口设置完成。“属性”窗口不仅提供了属性的设置及修改功能,还提供了事件的管理功能。“属性”窗口可以管理控件的事件,方便编程时对事件的处理。
另外,“属性”窗口采用了两种方式管理属性和方法,分别为按分类方式和按字母顺序方式。读者可以根据自己的习惯采用不同的方式。该窗口的下方还有简单的帮助,方便开发人员对控件的属性进行操作和修改,“属性”窗口的左侧是属性名称,相对应的右侧是属性值,“属性”窗口如图1.37所示。
图1.37 “属性”窗口
1.5.7 “错误列表”窗口
“错误列表”窗口为代码中的错误提供了即时的提示和可能的解决方法。例如,当某句代码结束时忘记输入分号时,错误列表中会显示如图1.38所示的错误。错误列表就好像是一个错误提示器,它可以将程序中的错误代码及时地显示给开发人员,并通过提示信息找到相应的错误代码。
图1.38 “错误列表”窗口
说明
双击错误列表中的某项,Visual Studio 2017开发环境会自动定位到发生错误的代码。
1.6 小结
本章首先对软件及软件开发的几个基本概念进行了简单介绍,然后对C#语言的发展历史、C#与.NET Framework的关系及C#的应用领域进行了介绍,最后重点讲解了Visual Studio 2017开发环境的安装及使用。学习本章时,应重点掌握Visual Studio 2017的安装过程,以及如何使用Visual Studio 2017。