C#入门教程.docx
- 文档编号:2207695
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:9
- 大小:39.46KB
C#入门教程.docx
《C#入门教程.docx》由会员分享,可在线阅读,更多相关《C#入门教程.docx(9页珍藏版)》请在冰豆网上搜索。
C#入门教程
C#入门教程
C#读作CSharp,作为Microsoft的下一代面向对象的语言,能够让开发人员在.NET平台上快速地建立大量的应用程序。
按照Microsoft给出的定义,C#是一种源自于C和C++的,简单的、现代的、面向对象的和类型安全的程序设计语言。
C#为程序员提供了开发飞速发展的Web应用程序所需要的强大而灵活的功能。
与C++相比,C#将更容易被人们理解和接受,未来大量.NET平台的应用将由C#开发,C#将是未来开发企业级分布式应用程序的首选。
一、特点
C#就是这样一种编程语言,它使程序员能快速地为新一代Microsoft.NET平台开发出应用程序。
具体来说,微软的C#具有如下特点:
1.快速应用开发(RAD)功能
支持快速开发(Rapidapplicationdevelopment,RAD)可以说是目前开发语言最为重要的一大功能,支持快速开发可以使得开发人员的开发效率倍增,从而使得他们可以从繁重的重复性劳动中解放出来。
C#的RAD功能主要表现在垃圾收集、指代等特性上。
垃圾收集机制将减轻开发人员对内存的管理负担,而指代功能更是可以让开发者不经过内部类就调用函数。
利用C#的这些功能,可以使开发者通过较少的代码来实现更强大的应用程序,并且能够更好地避免错误发生,从而缩短了应用系统的开发周期。
2.语言的自由性
用C#编写的程序能最大程度地和任何支持.NET的语言互相交换信息。
能够继承和使用任何语言所编写的程序,这样做的好处是节省了大量的工作,你不必把COBOL等语言强行改成另一种语言,.NET让各种语言真正地互相交流了。
3.强大的Web服务端组件
在C#的Web编程中,最让人兴奋的是Web服务端的组件,它们不仅包括传统组件,还包括那些能够自动连接服务的可编程组件,你可以用C#编写自己的服务器端组件,使用它们可以更自由、更容易地进行数据绑定。
4.支持跨平台
随着互联网应用程序的应用越来越广,开发人员所设计的应用程序必须具有强大的跨平台性。
C#编写的应用程序就具有强大的跨平台性,这种跨平台性也包括了C#程序的客户端可以运行在不同类型的客户端上,比如PDA、手机等非PC装置。
5.与XML的融合
由于XML技术真正融入到了.NET之中,C#的编程变成了真正意义的网络编程,甚至可以说.NET和C#是专为XML而设计,使用C#的程序员可以轻松用C#内含的类来使用XML技术。
就这方面而言,目前C#提供给了程序员裹多的自由和更好的性能来使用XML。
6.对C++的继承
C#继承并保留了C++强大的功妮,例如,C#保留了类型安全的检测和重载功能,C#还提供了一些新功能取代了一些原来的ANSIC预处理程序的功能,提高了语言的类型安全等安全性。
二、简单应用程序举例与分析
在全面、系统地学习以前,我们先来看一个C#的经典程序“Welcome”。
1.Welcome程序
第一个程序总是很简单的,我们让用户通过键盘输入自己的名字,然后程序会在屏幕上打印出一条欢迎信息。
程序代码如下:
//源文件:
welcome.cs
usingSystem;
classWelcome
{
staticvoidMain(){
Console.WriteLine("Pleaseenteryourname:
");
//要求用户输入姓名;
Console.ReadLine();//读取用户输入;
Console.WriteLine("Welcometoyou!
");
/*本行代码用于打印欢迎信息;
你可以在这里添加自己的代码;
程序结束*/
}
}
上面的代码你可以在任意一种字处理软件中进行编写,然后以文件名“Welcome.cs”存盘。
典型的C#源文件都是以“.cs”作为文件的扩展名的。
注意:
C#语言是大小写敏感的。
2.代码分析
(1)名字空间
usingSystem表示导入名字空间。
如果你熟悉C或者C++编程,那么你一定经常使用“#include”之类的语句来导入其他C或者C++源文件。
C#的含义与此类似,用于导入预定的元素。
“System”就是一个名字空间,“using”指令允许对属于该名字空间成员的类型无限制引用。
(2)类和类的方法
在程序第二行,classWelcome声明了一个类,类的名字叫做“Welcome”。
这个程序让我们所作的事情都依靠它来完成。
StaticvoidMain()表示类“Welcome”中的一个方法,方法总是为我们完成某项工作的。
在C#中,程序的执行总是从“main()”方法开始,一个程序中不允许出现两个或者两个以上的“main()”方法。
就像一个文件夹可以容纳多个文件一样,一个名字空间可以被视为某些类的一个容器。
因为.NET有很多类,所以名字空间是必要的。
微软已经编写了数以千计的基类,同吮任何合理的大型应用程序都可以定义更多的类。
通过把类放入名字空间可以把相关的类组织起来,并且可以避免命名冲突。
(3)“{”和“}”
与C和C++一样,源代码被包含在一对大括号之中,每一个右括号总是和它前面离它最近的一个左括号相配套。
如果左括号和右括号没有全部的配套,那么这就是一个错误的程序。
所有语句都以分号“;”结束。
(4)程序的输入与输出
程序所完成的输入输出功能都是通过“Console”来完成的,“Console”是在名字空间“System”中已经定义好的一个类,你根本不需要管它是怎么完成工作的,只要直接使用它就可以了。
上面的程序代码中,类“Console”为我们展现了两个最基本的方法:
ReadLine和WriteLine。
Console.ReadLine表示接受输入设备输入,Console.WriteLine用于在输出设备中输出。
3.运行程序
(1)执行代码
理解了源程序中每一条代码的具体含义后,下一步我们要做的就是让这个程序真正能够运行。
如果你的计算机上安装了VisualStudio.NET,则可以在集成开发环境(IntegratedDeveloperEnvironment,IDE)中直接编译并执行源文件。
如果你不具备这个条件,那么安装Microsoft.NETFrameworkSDK也是可以的。
实际上,.NET平台内置了C#的编译器。
下面让我们使用微软提供的命令行编译器来对上面的程序进行编译。
启动一个命令提示符,输入一行命令:
cscwelcome.cs
此时,Welcome.cs文件将被编译并运行,屏幕上会出现一行字符,提示你输入姓名:
Pleaseenteryourname:
输入任意安符并回来确认,屏幕是将打印出欢迎信息:
Welcometoyou!
在C#中,编译器只执行编译过程,而在C或者C++中要经过编译和链接两个阶段。
也就是说,C#源文件并不被编译成目标文件(.obj),而是直接生成可执行文件(.exe)或动态链接库(.dll)。
C#编译器中不需要包含链接器。
(2)命令行编译器选项
我们可以灵活地使用.NET平台提供的命令行编译器的不同选项,选择不同的编译方式。
例如,我们希望对源文件进行编译,生成一个名为MyWelcome.exe的可执行文件,我们可以采用下面的命令:
csc/outMyWelcome.exeWelcome.cs
有如不同的命令参数一样,不同的命令行编译器选项会影响我们编译执行的结果,如果不知道各个选项的具体含义,你可以通过编译器帮助来获得:
csc/?
4.添加注释
C#中注释的方式和C、C++没有什么区别,每行中双斜杠“//”后面的内容,以及在分割符“/*”和“*/”之间的内容都将被编译器忽略。
其中,“//”表示进行单行注释;“/*”和“*/”表示多行注释。
三、C#语言基础
(一)数据类型
应用程序总是要处理数据的,我们必须要让计算机了解需要处理什么样的数据,用什么方式进行处理,按什么格式保存数据等。
这就需要了解程序设计语言的数据类型。
1.值类型
在学习各种类型以前,我们先提一下变量的概念,变量即是存储信息的基本单元,另一方面,我们也可以把变量理解为计算机内存中的一个存储空间。
C#的值类型可以分为:
简单类型、结构类型、枚举类型。
简单类型是直接由一系列元素构成的数据类型。
C#中为我们提供了一组已定义的简单类型。
这些简单类型可分为:
整数类型、布尔类型、字符类型和实数类型。
(1)整数类型
整数类型的变量的值为整数。
C#中有九种整数类型:
短字节型(sbyte)、字节型(byte)、短整型(short)、无符号短整型(ushort)、整型(int)、无符号整型(uint)、长整型(long)、无符号长整型(ulong)。
这些整型类型在数学上的表示以及在计算机中的取值范围如下表所示。
(2)布尔类型
布尔类型是用来表示一个事件或状态的“真”和“假”。
我们知道,不管任何数据,在计算机的内部都是采用二进制方式处理和存储。
布尔类型表示的逻辑变量只有两种取值:
“真”或“假”,在C#中分别采用“true”和“false”表示。
(3)实数类型
浮点类型:
数学中的实数不仅包括整数,而且包括小数。
小数在C#中采用单精度(float)和双精度(double)。
它们的差别在于取值范围和精度不同。
单精度:
取值范围在±1.5*10-34到3.4*1038之间,精度为7位数。
双精度:
取值范围在±5.0*10-324到1.7*10308之间,精度为15到16位数。
十进制类型(decimal):
是C#专门为我们定义的一种数据类型,主要用于方便我们在金融和货币方面的计算。
C#通过提供这种专门的数据类型,使我们能够更快捷地设计这方面的应用程序。
其取值范围从大约1.0*10-28到7.9*1028的28到29位有效数字。
当定义一个十进制变量并赋值给它时,使用m下标以表明它是一个十进制类型。
如果省略了m下标,在变量被赋值之前,它将被编译器当作双精度数据类型来处理。
下面是一个合法的赋值:
decimald_value=1.0m;
(4)字符类型
除了数字以外,计算机还需要处理的信息主要就是字符了。
字符包括数字字符、英文字符、表达符号等,C#提供的字符类型采用了国际公认的Unicode字符集标准。
一个Unicode的标准字符长度为16位,用它可以表示大多数的字符类型了。
可以按下面的方法给一个字符变量赋值,如:
charc=′A′;
另外,我们还可以直接通过十六进制转义符(前缀\x)或Unicode表示法给字符型变量赋值)(前缀\u),用来在程序中指代特殊的控制字符。
(5)结构类型
在具体的程序设计中我们经常要把一组相关的信息存放在一起。
把一系列相关的变量组织成为一个单一实体的过程,称为生成结构的过程。
这个单一实体的类型我们就叫做结构类型,每一个变量称为结构的成员。
结构类型的变量采用struct来进行声明。
下面的程序代码说明定义一个通讯录记录结构(包括姓名、电话和地址)的定义。
StructPhoneBo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 入门教程
![提示](https://static.bdocx.com/images/bang_tan.gif)