版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C#程序设计教程
第1章C#与VisualStudio集成开发环境06二月2023C#程序设计教程第1章C#与VisualStudio集成开发环境
1.1.NET简介1.2C#1.3VisualStudio集成开发环境1.4创建第一个C#控制台(命令行)程序1.5创建第一个C#Windows程序1.6C#程序结构介绍06二月2023C#程序设计教程1.1.NET简介.NET就是Microsoft的XMLWeb服务平台。Microsoft.NET平台包含广泛的产品系列,它们都是基于XML和Internet行业标准构建,不论操作系统或编程语言有何差别,XMLWeb服务能使应用程序在Internet上传输和共享数据。06二月2023C#程序设计教程1.1.NET简介.NETFramework具有两个主要组件:公共语言运行库和.NETFramework类库。公共语言运行库是.NETFramework的基础。可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。.NETFramework的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面(GUI)应用程序,也包括基于ASP.NET所提供的最新创新的应用程序(如Web窗体和XMLWebServices)。2023/2/61.公共语言运行库CLI(CommonLanguageInfrastructure,通用语言框架)实际上是一种为虚拟机环境而制订的规范,使得由各种高级语言所编制的程序可以在不同的系统环境中执行之而不必更改或重新编译原程序代码。
微软的.NET的基础CLR就是CLI的一个实例。CLR只不过是CLI规范在个人计算机、在微软Windows操作系统中的一个执行而已。毫无疑问,其它操作系统环境和硬件平台上,CLI也同样可行。你有时会发现术语CLI和CLR可交换使用,尽管很明显它们不是一回事情。CLI是一种标准规范,而CLR却是微软对CLI的实现。
公共语言运行库(CommonLanguageRuntime,CLR)也叫公共语言运行时,是.NET框架的基础。公共语言运行库简化了应用程序的开发,提供了一个强大的、安全的执行环境,支持多语言,并简化了应用程序的部署和管理。公共语言运行库也称为“托管环境”,在这个托管环境中将自动提供诸如垃圾回收和安全性等通用服务。用C#编写的源代码被编译为一种符合CLI规范的中间语言(IL)。IL代码与资源(例如位图和字符串)一起作为一种称为程序集的可执行文件存储在磁盘上,通常具有的扩展名为.exe或.dll。程序集包含清单,它提供有关程序集的类型、版本、区域性和安全要求等信息。1.1.NET简介C#程序设计教程2023/2/6
1.1.NET简介C#程序设计教程2023/2/62..NETFramework类库
在早期的开发中,各种应用开发人员使用各自平台所提供的工具类库,开发适用于不同平台的应用时,则要求开发人员掌握多种类库的使用方法,造成大量的资源浪费,也降低了开发人员的效率。.NET框架提供了丰富的接口集合,以及抽象与非抽象类。开发人员可以原封不动使用非抽象类,或者在许多情况下,派生出自定义的类。要使用接口的功能,开发人员既可以创建一个实现接口的类,也可以从某个实现该接口的.NET框架类中派生出类。
曾经难于实现,或是需要第三方组件支持的应用程序特性,如今使用.NET框架后,可以通过少量代码得以实现。.NETFramework还包含一个由4000多个类组成的内容详尽的库,这些类被组织为命名空间,为从文件输入和输出、字符串操作、XML分析到Windows窗体控件的所有内容提供了各种有用的功能。1.1.NET简介C#程序设计教程06二月2023C#程序设计教程1.2C#
C#是一种简洁、类型安全的面向对象的语言,开发人员可以使用它来构建在.NETFramework上运行的各种安全、可靠的应用程序。使用C#,可以创建传统的Windows客户端应用程序、XMLWebservices、分布式组件、客户端/服务器应用程序、数据库应用程序等等。C#语法表现力强,而且简单易学。C#的大括号语法使任何熟悉C、C++或Java的人都可以立即上手。了解上述任何一种语言的开发人员通常在很短的时间内就可以开始使用C#高效地进行工作。C#语法简化了C++的诸多复杂性,并提供了很多强大的功能,例如可为null的值类型、枚举、委托、lambda表达式和直接内存访问,这些都是Java所不具备的。C#支持泛型方法和类型,从而提供了更出色的类型安全和性能。C#还提供了迭代器,允许集合类的实施者定义自定义的迭代行为,以便容易被客户端代码使用。06二月2023C#程序设计教程1.2VisualStudio简介C#语言简介
作为一种面向对象的语言,C#支持封装、继承和多态性的概念。所有的变量和方法,包括Main方法(应用程序的入口点),都封装在类定义中。类只能直接从一个父类继承,但它可以实现任意数量的接口。重写父类中的虚方法的各种方法要求override关键字作为一种避免意外重定义的方式。在C#中,结构类似于一个轻量类;它是一种堆栈分配的类型,可以实现接口,但不支持继承。C#的生成过程比C和C++简单,比Java更为灵活。没有单独的头文件,也不要求按照特定顺序声明方法和类型。C#源文件可以定义任意数量的类、结构、接口和事件。
06二月2023C#程序设计教程1.3VisualStudio集成开发环境1.起始页VisualStudio2017是微软于2017年3月8日正式推出的新版本,是迄今为止最具生产力的VisualStudio版本。其内建工具整合了.NETCore、Azure应用程序、微服务(microservices)、Docker容器等所有内容。
单击左下角“开始”“所有程序”
“VisualStudio2017”启动VS2017(MicrosoftVisualStudio2017的缩写),在默认情况下会显示图1-2所示的起始页。2023/2/6
1.3VisualStudio集成开发环境C#程序设计教程2023/2/6VisualC#集成开发环境(IDE)是一种通过常用用户界面公开的开发工具的集合。有些工具是与其他VisualStudio语言共享的,还有一些工具(如C#编译器)是VisualC#特有的。本节提供如何在使用IDE时针对开发过程的各个阶段使用最重要的VisualC#工具的概述。以下是VisualC#中最重要的工具和窗口。大多数工具的窗口可从“视图”菜单打开,仅介绍初学者需要使用的五个窗口。代码编辑器,用于编写源代码。
“工具箱”,用于使用鼠标快速开发用户界面。“解决方案资源管理器”,用于查看和管理项目文件和设置。
“属性”窗口,用于配置用户界面中控件的属性和事件。“任务列表”窗口,常用来显示错误列表。1.3VisualStudio集成开发环境C#程序设计教程2023/2/6
1.3VisualStudio集成开发环境C#程序设计教程06二月2023C#程序设计教程1.3VisualStudio集成开发环境2.开发环境当打开或者新建一个项目后,VisualStudio20XX的一个典型开发环境如图所示。由于VisualStudio20XX的开发环境布局可以定制,如果你机器上的VisualStudio20XX如果被其他人使用过,你看到的界面和有可能会不同。06二月2023C#程序设计教程1.3VisualStudio集成开发环境2.开发环境
(1)Windows窗体设计器/代码编辑器
图1-4正中间部分就是用户编辑区域,也是Windows窗体设计器和代码编辑器。用户编辑区域允许用户打开某个文件并对文件进行修改。在用户编辑区主要有两种视图:设计视图和代码视图。可以在设计视图和代码视图之间进行切换。更通俗的说法是,设计视图用来实现程序的外观,而代码视图用来实现程序的功能。设计视图允许在用户界面或网页上指定控件和其他项的位置。可以从工具箱
中轻松拖动控件,并将其置于设计图面上。图1-5所示的是VisualStudio2017的窗体设计视图。06二月2023C#程序设计教程1.3VisualStudio集成开发环境2.开发环境
在窗体设计视图里,以可视化的方式显示组件(如Windows窗体、Web页面、用户控件和数据集等等)。VisualStudio2017最重要的特点就是所见即所得(WhatYouSeeIsWhatYouGet),你看到的界面就是程序运行的最终效果。程序员可以在这里看见并修改窗体的布局和设置,用户可以通过单击选中一个窗体或者控件,也可以通过鼠标的拖放来改变控件或窗体的位置和大小。
在设计视图下点击菜单“视图”
“代码”,可以切换到代码视图,如图1-6所示。源视图用于显示文件或文档的源代码。此视图支持编码帮助功能,如IntelliSense、可折叠代码节、重构
和代码段插入等。还有一些其他功能,如自动换行、书签和显示行号等。在代码视图中,用户可以编写代码,实现你想要完成的功能。在代码视图下点击菜单“视图”
“设计器”可以切换到设计视图。如果程序员打开了多个文件,那么这些文件将以标签的方式显示在用户编辑区的顶部,标签的标题即为文件名。如果标签的标题后面带一个“*”符号,如图1-7所示。则表明这个文件已经进行了修改,但尚未保存,点击工具栏上的按钮
即可保存全部修改,“*”消失。06二月2023C#程序设计教程1.3VisualStudio集成开发环境2.开发环境VisualC#代码编辑器是编写源代码的字处理程序。就像MicrosoftWord对句子、段落和语法提供广泛支持一样,C#代码编辑器也为C#语法和.NETFramework提供广泛支持。这些支持对初学者而言主要为以下三个主要的类别:IntelliSense:在编辑器中键入.NETFramework类和方法时,不断对其基本文档进行更新,同时还具有自动代码生成功能。IntelliSense(智能感知)是一组相关功能的名称,旨在尽量减少查找帮助所需的时间,有助于更加准确高效地输入代码。这些功能都提供了在编辑器中键入的语言关键字、.NETFramework类型和方法签名的基本信息。这些信息会显示在工具提示、列表框和智能标记中。①完成列表②列出成员③
参数信息④快速信息06二月2023C#程序设计教程1.3VisualStudio集成开发环境2.开发环境
可读性帮助:大纲显示、设置代码格式和着色。
代码编辑器会自动将命名空间、类和方法视为可折叠区域,以便于查找和读取源代码文件的其他部分。在代码视图的最左侧有一条竖线,线上对应于每个方法开始处有“+”“-”号,单击“+”号可以展开这个方法的代码,单击“-”号可以折叠这个方法的代码,方法代码被折叠后,方法名后面将显示一个带边框的省略号,把光标放到这个省略号上,会弹出一个窗口,显示被隐藏的代码,如图1-13所示。VisualStudio2017的代码编辑器以不同的颜色显示代码中的不同内容,默认情况下以蓝色显示C#的关键字,以棕色显示字符串,以蓝绿色显示类名,以绿色显示注释。如果想要修改这些默认的颜色,比如把关键字改为红色,并且把字体放大一点,点击“工具”“选项”,展开左侧的“环境”,选中“字体和颜色”,在“显示项”选中“关键字”,“项前颜色”选中“红色”,点击“确定”按钮,如图1-14所示。看看代码编辑器是不是变成你想要的效果了,如图1-15所示。如果你多次更改,想一次性回到代码编辑器的初始状态,那就在图1-14当中点击“使用默认值”就还原了。06二月2023C#程序设计教程1.3VisualStudio集成开发环境2.开发环境
波浪下划线:当您键入内容时,对拼写错误的单词、语义错误、错误的语法以及警告情况的可见通知。波浪下划线可以即时反馈键入代码时发生的错误。红色波浪下划线标识语法错误(例如缺少分号或括号不匹配)或语义错误(例如尝试将string
文本赋给int
类型的变量),而蓝色的波浪下划线标识编译器错误,将光标放到波浪形的上,会提示相应的错误信息,“错误列表”窗口也会提示相应的错误信息,如图1-16所示,对代码编写很有帮助。(2)工具箱
窗体设计区域的左侧为工具箱,工具箱中放置了各种控件,当绘制程序界面时,界面中的元素都是从工具箱当中得来的,如图1-17所示,它显示可以被添加到VisualStudio2017项目中的项的图标。如果你的电脑上面看不到工具箱,点击“视图”“工具箱”可以打开工具箱。另外再次重申,只有设计视图状态下工具箱可用,当编辑控制台应用程序时,不会显示工具箱中的项。06二月2023C#程序设计教程1.3VisualStudio集成开发环境2.开发环境(3)解决方案资源管理器
一个大型程序的开发过程会包括很多资源,包括源代码、图片、文件数据库等等,也可能包括很多功能模块,如数据库处理模块、图形用户界面(GraphicUserInterface,GUI)模块、业务逻辑处理模块等等。如果没有一种有效的组织方式来管理这些项目资源,就不能高效的开发出大型应用程序,在后期甚至会出现各种各样的问题,导致程序崩溃。
窗体设计区域的右上角是解决方案资源管理器,如果你的电脑上面看不到解决方案资源管理器,点击“视图”“解决方案资源管理器”可以打开解决方案资源管理器。如图1-18所示。VisualStudio2017是以解决方案和项目来组织资源的。解决方案就是你要创建的应用程序,应用程序下的各个模块可以建立成一个个的项目。解决方案和项目还可以包含一些项,这些项表示创建应用程序所需的引用、数据连接、文件夹和文件。一个解决方案可包含多个项目,而一个项目通常包含多个项。项目和项目以及项目和解决方案之间的连接可以通过解决方案管理器和命名空间来管理。解决方案资源管理器用于显示解决方案、解决方案的项目及这些项目中的项。通过解决方案资源管理器可以打开文件进行编辑,向项目中添加新文件,以及查看解决方案、项目和项属性。
06二月2023C#程序设计教程1.3VisualStudio集成开发环境2.开发环境(4)属性窗口VisualStudio2017的每一个对象都有自己的特征集,用来唯一的标识它自己,这个特征集称为“属性”。图1-19就是VisualStudio2017的属性窗口。窗体设计区域的右下角是属性窗口,如果你的电脑上面看不到属性窗口,点击“视图”“属性窗口”可以打开属性窗口。
属性窗口列出了当前选中内容的各种属性,可以在属性窗口中对这些属性值进行修改。当在解决方案管理器中或者窗体设计视图中选择一个文件或者控件时,属性窗口会自动随之发生变化,以显示当前选择内容的属性。属性窗口的最上部是一个下拉列表框,显示当前选中的是什么内容。可以从下拉列表框选择其他项,以更改属性窗口锁显示的内容。下拉列表框下面是工具栏。工具栏下面是属性列表,列出了当前所选择内容的所有属性。属性窗口最下面是对属性列表中当前选择的属性的文字说明。(5)其他窗口
除了上面介绍的窗口外,VisualStudio2017中还有一些会经常用到的窗口,如错误列表窗口,这些错误可以包含不正确的语法、拼错的关键字和键入不匹配。错误列表窗口将显示这些错误类型。错误列表窗口对于程序的调试至关重要.
06二月2023C#程序设计教程1.3VisualStudio集成开发环境3.窗口布局调整VisualStudio20XX允许对IDE中众多子窗口进行调整、合并,从而定制出符合用户使用习惯的IDE布局。(1)窗口自动隐藏默认情况下,VisualStudio20XXIDE整个用户界面被划分为若干个区域。这种布局在编写代码或者设计大窗体时不太方便,因为用户编辑区域的宽度不足以显示一行完整的代码或者整个窗体时,必须不断拖动滚动条调整位置,才能查看完整的代码和窗体布局。利用VisualStudio20XX提供的窗口自动隐藏功能,可以隐藏工具箱、解决方案资源管理器、属性及其他窗口,从而扩大用户编辑区域。工具箱、解决方案资源管理器、属性及其他窗口的右上角都有一个图钉图标,点击这个按钮,可以在自动隐藏和不自动隐藏之间切换。窗口自动隐藏后,仅在界面上显示一个图标。(2)窗口位置调整除了可以设置为自动隐藏,还可以改变窗口所在的位置,左键点击任意窗口的标题栏,拖动到任意位置释放鼠标,窗口的位置即发生调整。当希望恢复为默认窗口布局,点击“窗口”“重置窗口布局”即可。06二月2023C#程序设计教程1.3VisualStudio集成开发环境4.获得帮助VisualStudio的帮助文档包含在MSDNLibrary中,可以将MSDNLibrary安装在本地计算机上,也可以从Internet
上获得。该库的本地版本是格式为.hxs的压缩HTML文件的集合,你可以决定是否在计算机上安装该库的全部或部分内容。
F1提供区分上下文的搜索功能。在代码编辑器中,将光标定位于关键字或类成员上或紧随其后,并按F1,即可访问C#关键字和.NETFramework类的帮助文档。当控件具有焦点时,可以按F1获取该控件的帮助。06二月2023C#程序设计教程1.4创建第一个C#控制台程序1.点击菜单“文件”“新建”“项目”。将出现“新建项目”对话框。2.选择“控制台应用”作为项目类型,并将应用程序的名称更改为“Hello”。3.现在单击Main方法内的左大括号“{”的右边,然后按Enter键开始新行。注意观察编辑器如何自动缩进光标。键入单词“console4.键入一个点和方法名WriteLine。5.键入一个左括号。6.键入字符串“欢迎使用控制台应用程序”键入字符串时用双引号(英文输入法的双引号)将字符串引起来,然后添加一个右括号(英文输入法下的右括号)。将看到显示一条红色波浪下划线,提醒您缺少某些符号。键入一个分号”;”(英文输入法下的分号)7.运行程序。06二月2023C#程序设计教程1.5创建第一个C#Windows程序1.点击菜单“文件”“新建”“项目”。将出现“新建项目”对话框。选择“Windows窗体应用”作为项目类型,并将应用程序的名称更改为“Button”。2.在Windows窗体设计器中会显示一个Windows窗体。这是应用程序的用户界面。3.展开“公共控件”选项卡,并用左键选中“Label”控件,按住左键拖动到窗体的合适位置。4.以同样的方式放置一个“Button”控件到窗体的合适位置。5.双击按钮以打开代码编辑器,为此方法添加代码,添加后效果如下:privatevoidbutton1_Click(objectsender,EventArgse){
label1.Text="Hello,World!";}6.按F5以编译并运行应用程序。7.单击按钮时,将显示一条文本消息。
06二月2023C#程序设计教程1.6C#程序结构简介1.namespace命令namespace命令定义了一个命名空间。命名空间是一个类的集合,其中包含一些按照某种关系(一般是逻辑关系)组织在一起的类。命名空间可以嵌套,即命名空间中还可以包含别的命名空间,命名空间的引入是为了避免类的命名冲突。通过把类放在namespace里面,这个类名就自动具有了一个与命名空间名字相同的前缀,这个类的完整类名就变成了namespace.classname的形式。通过把相同类名的类放在不同的命名空间中,就有效的避免了命名冲突。在编程时,通过指定完整类名(命名空间.类名)就可以明确无歧义的确定唯一的类。06二月2023C#程序设计教程1.6C#程序结构简介2.using命令通过使用命名空间,解决了命名冲突的问题,但是也给编程工作带来一些不便:在使用一个类时,需要把类的命名空间放在类名的前面做为前缀,这样就增加了编码工作量。尤其是在有些命名空间层次很多的情况下,更是显著增加了编程人员的输入代码工作量。通过using命令可以很好的解决这个问题,using指定的作用是导入一个命名空间。导入一个命名空间以后,就可以直接通过类名使用这个命名空间里面的类,而不必写完整类名。在Hello程序中,Console类是定义在System命名空间中的,如果没有第一行的usingSystem指令,那么在使用Console类时,必须写成System.Console的形式。06二月2023C#程序设计教程1.6C#程序结构简介3.程序注释程序中加入注释是为了程序更加清晰可读。注释是给开发、调试和维护程序的人看的,而不是用来执行以达到某个效果的,注释不会被编译,更不会执行。下面是一个简单的注释的例子://这是一个单行注释实际编程中,用的更多的是选中你希望注释的代码,通过工具栏上的按钮将选中代码注释掉,通过将选中代码取消注释,06二月2023C#程序设计教程1.6C#程序结构简介4.Main函数Main函数时C#程序的入口点,C#程序运行时,不管是Windows窗体应用程序还是控制台应用程序,将从Main函数开始执行。Main函数必须被声明为静态的。根据返回类型和入口参数的不同,Main函数可以有以下几种形式:staticvoidMain()staticvoidMain(string[]args)staticintMain()staticintMain(string[]args)可以看出,Main函数有两种返回类型:void类型和int类型;Main函数可以没有入口参数,也可以接受字符串数组作为参数。06二月2023C#程序设计教程1.6C#程序结构简介5.Console类的用法Console类位于命名空间System,它为控制台程序提供了最基本的输入、输出方法,其中最常用的包括WriteLine、Write、ReadLine和Read,讲解过程涉及到变量的有关知识请参考第二章。(1)Console.ReadLine和Console.ReadReadLine方法用于从标准输入设备(通常是键盘)输入一行字符(以回车表示结束),返回的结果是string(字符串)类型数据,如下所示:strings=Console.ReadLine();上面的语句将从键盘输入一行字符赋给string(字符串)型变量s。注意:Console.ReadLine()的返回结果只能是字符串,如果需要数值
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度劳动合同(实习生)
- 2024年度产品代销协议及仓储物流服务合同
- 2024年度保险代理合同(人寿保险业务)
- 液压大门操作器市场需求与消费特点分析
- 2024年度公共交通车辆采购合同
- 纳米粒度分析仪产品入市调查研究报告
- 制药剂专用板框压滤机市场发展现状调查及供需格局分析预测报告
- 2024年度影视制作许可电子合同
- 2024年度别墅区居民公约制定合同
- 2024年度建筑智能化系统集成合同
- 中文工坊建设:内涵意蕴、现实挑战与实践路径
- 企业财务会计电子教案 10存货核算4
- 定期体检 预防常见病 课件 2024-2025学年人教版(2024)初中体育与健康七年级全一册
- 期中测试卷(1-4单元)(试题)2024-2025学年六年级上册试题人教版
- 电子发票管理系统开发与维护合同
- 现代服务业课件
- 浙江省杭州市2024年中考英语真题(含答案)
- 成人术中非计划低体温预防与护理学习与预实践
- 生活饮用水、公共场所卫生管理系列国家强制性标准解读答案-2024年全国疾控系统“大学习”活动
- 《算法设计与分析基础》(Python语言描述) 课件 第5章回溯法1
- 人音版八年级上册第二单元 多彩音乐剧 《雪绒花》教案
评论
0/150
提交评论