C#知识点.docx

上传人:b****3 文档编号:26583780 上传时间:2023-06-20 格式:DOCX 页数:18 大小:26.02KB
下载 相关 举报
C#知识点.docx_第1页
第1页 / 共18页
C#知识点.docx_第2页
第2页 / 共18页
C#知识点.docx_第3页
第3页 / 共18页
C#知识点.docx_第4页
第4页 / 共18页
C#知识点.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

C#知识点.docx

《C#知识点.docx》由会员分享,可在线阅读,更多相关《C#知识点.docx(18页珍藏版)》请在冰豆网上搜索。

C#知识点.docx

C#知识点

1.C#的程序的两种版本:

“控制台应用程序”;”Window应用程序”。

using<命名空间>,是导入命名空间,构建桌面应用程序是需要”WindowForm“类库。

2.Main()函数(大写),C#程序的入口点。

3.C#中数据类型:

值类型;引用类型。

4.值类型:

●简单类型(13种,其中9中整数类型,3中实数类型,还有布尔类型。

见P6表2.1);

●枚举类型;

●结构类型。

5.引用类型:

class(object类,string类),interface,数组,委托。

6.两种类型的关系:

●值类型包装成引用类型的处理——“装箱”。

●将object类型转换为值类型——“拆箱”,必须显示类型转换。

●例:

intx=222,y;

objecto=x;//装箱

y=(int)o;//拆箱

7.常量:

●128UL,表示一个无符号长整型;

●3.14m,表示decimal类型(128位的高精度十进制数);

●\0,表示空字符(在转义字符中);

●逐字字符串,@D:

\ECIT\zqk(路径的写法),字符表示原意,不是转义了。

8.C#中标识符:

●必须字母和下划线开头;

●后可跟字母,数字,下划线;

●不能和关键字同名,如果要同名,使用@开头;

●以@开头也可以。

9.运算符:

●取模运算不同于C/C++,可用于浮点类型;

●==和!

=当作用于简单类型是比较数据内容;作用于引用类型是比较是否指向同一个对象,要比较内容,使用object类的Equals()方法。

其中如果又是作用于字符串,为null;或不同的对象,但是内容一样,就是字符串的长度和对应字符相同,比较结果为相同。

例题可看书本P14。

●逻辑运算:

短路的概念,看懂P15例题。

●重点是掌握运算符的优先级与结合性,P19表2.9。

10.表达式中,需强制类型转换的:

float或double类型与decimal类型运算,需要都为decimal类型。

11.switch语句的表达式能是关系运算,这是C#的强大之处,所以case子句能用true和false。

12.数组:

●定义一维数组时,秩说明符即[],必须在数组名前。

不像C/C++,JAVA,前后都可。

●多维数组:

定义形式:

<类型>[,]数组名,n个逗号,表示(n+1)维。

●不规则数组(重点),最多考二维不规则,例:

int[][]array=newint[3][];

array[0]=newint[]{0};

array[1]=newint[]{1,2};

array[2]=newint[]{3,4,5};

●Array类,Length属性,求数组长度;GetLength()方法,获取某一维的大小。

●foreach遍历:

迭代变量是只读的。

要会这种遍历的写法,可看P42例2.18。

13.类:

●在C#中,类的访问默认为public;internal修饰符,表示该类能够由程序集的所有文件使用,可理解为在一个项目下中使用;sealed,修饰为密封类,就像JAVA的final,表示是不可在被继承。

●类中的常数表达式,就是用const修饰的,是一个可在编译时计算的值,和静态成员有区别,并且const和static不可同时使用;但也是通过类名来调用。

●在C#中数据成员叫做字段。

字段修饰中,记住readonly修饰;

●readoly和const的区分:

◆readonly修饰后,只能在声明时赋值,或者在构造函数中,最终以构造函数中的赋值为准。

赋值后在其他地方就不能对它再写了。

◆const必须在声明时赋值,赋值后就不能变。

◆所以如果要运行时,即在构造中,赋值后的不能变的,用readonly。

●静态构造函数:

只对静态成员初始化;静态构造函数由系统激活调用,不能被人为调用;在创建对象或引用了静态成员时,激活静态构造函数,至多被执行一次。

●析构函数,执行顺序和构造函数相反。

●类中的方法:

(C#比JAVA要求的更严格,这样也使语法更加简单明了)

修饰符

说明

new

隐藏父类的

virtual

希望子类重写的

override

与virtual配套使用

sealed

密封,与override同时使用。

阻止子类重写

abstract

抽象类中使用该修饰,表示抽象方法,基础抽象类的非抽象子类都要重载实现该抽象方法。

P93例4.5。

extern(了解)

表示该方法从外部实现

●引用参数(ref关键字):

在函数调用时也要对应的写ref;实参和形参必须类型完全一致;实参必须为变量,不能为常量。

●输出参数(out关键字):

只能从方法中传出值,不在实参处给数据。

这是C#的特殊之处,例题可看P62例3.10。

●参数数组(params关键字):

一个方法中只能有一个params修饰参数,并且放在最后;实质是传递一个数组,还有就是实质是传递数据的副本,是一个值传递;params不能和ref和out组合使用;

●属性:

对字段的读和写,在类外对属性赋值或调用。

get(读访问器);set(写访问器);属性的写法和方法类似,只是没有括号,和属性名规范写法是大写。

静态属性不能访问静态数据和引用this。

14.关于什么继承和多态的知识点就不说了,和JAVA原理一样。

只是写法不同,即使用了更规格的关键字,new;virtual;override。

可以看下P89例4.3,如果懂了就没问题。

15.C#中的多态中,延续了C++的操作符重载。

●所谓操作符重载,我们知道,一般的运算符只能作用于基本数据类型,如果是用户自定义的类型,即类类型,如果想让运算符形象化,就得把它写成一个函数,实现其计算的功能。

●重载的函数签名,必须用publicstatic修饰,能重载的操作符详见P95。

16.关于类型转换:

●小范围赋值给大范围的,会隐式转换,所以这部分关键是对数据类型表示范围的考察,熟记P6表2.1。

●char类型可以转换为整数或实数;反之不行,就得强制转化了。

●枚举隐式转中,只能把0赋值给枚举对象。

●Convert类的使用,P101表4.3,包括了全部类型的转化;如果转化后数据丢失,系统会抛出异常。

17.接口:

C#中,接口名规格写法是“I”开头,在接口中的成员不能加修饰符,默认是public。

C#的接口可以显示实现,那么也就要显示调用,即使用接口类型调用相应接口的方法。

18.结构体:

实质可理解为类,但与类有区别(P107表4.4)。

19.枚举:

不能用char作为枚举的基本类型,默认的基本类型是int类型。

20.集合类:

必须实现IEnumerable和IEnumerator接口的类。

21.异常的知识点和JAVA一样,有一个特有的:

C#中的catch可以有一个子句,只能有一个子句,子句放在其他catch最后,可看P128例4.27。

22.C#独有的:

委托和事件,也是比较难的,了解一点概念。

●委托的关键字,delegate,是引用类型。

●所谓委托就是调用特定的函数,可以想象是挂钩某个函数,

●多播就是委托多个函数,实质就是重载了“+”和“-”,实现的多个委托的结合或减去。

●事件的定义:

[修饰]event<委托名><事件名>。

23.小结:

前面的知识点,说的不是很详细,因为学过,如果面向对象的知识懂了,可以把重点放在看5-8章,不过考试可能还是两大部分各占一半的分。

24.Windows应用程序,重点记住控件,及其属性,和事件:

●Form类,Windows窗体控件

重要属性/事件

说明

FormBorderStyle属性

★默认值是:

Sizable

★固定对话框:

FixedDialog

StartPosition属性

★默认值:

WindowsDefaultLocation

★CenterScreen:

加载后位于屏幕中间

TopMost属性

设置是否位于位于Z轴的最顶端

Test属性

设置窗口的标题

AcceptButton属性

设置为一个按钮名时,并且当按钮获得焦点后,当按下Enter键,自动触发按钮的Click事件。

CancelButton属性

同样,按下Esc键时触发按钮的Click事件

Load事件

窗体加载时触发,一般用于对一些控件做初始化工作。

●Lable控件,LinkLabel控件:

重要属性/事件

说明

Text属性

标题名

Alignment属性

标题对齐方式

LinkColor属性

链接默认状态下的颜色

VisitedLinkColor属性

链接访问后的颜色

ActiveLinkColor属性

单击链接时的颜色

LinkVisited属性

设置为true后,如果链接访问过,就一直保存VisitedLinkColor属性设置的颜色。

LinkClick事件

单击链接产生的事件

●按钮(Button):

重要属性/事件

说明

TextAlign属性

按钮Text属性文本的对齐方式

Click事件

记住没有DoubleClick事件

●文本框(TextBox):

重要属性/事件

说明

MultiLine属性

为true后,可多行显示文本,为false,单行显示,最多2048个字符

SelectionIndex属性

通过编程方式设置,表示选择文本的开始位置

SelectionLength属性

要选择文本的长度

PasswordChar属性

以某种字符,密文显示

MaxLength属性

设置限长文本

Enter事件

当获得焦点,成为活动控件时触发

Clear事件

清除全部文本

TextChanged事件

最重要的事件,当文本发生变化时触发

●列表框(ListBox):

重要属性/事件

说明

MultiColumn属性

为true时,多列显示,有一个水平滚动条;为false时,单列显示,有一个垂直滚动条。

ScrollAlwaysVisible属性

设为true,总有滚动条显示

SelectionMode属性

★默认值为One;

★设为None时,不可选;

★为MultiSimple时,多选;

SelectedIndex属性

返回选择的索引

SelectedItem属性

返回选中的项文本

Items.Count属性

是列表项总数

Items.Add()方法

参数就是要加载的字符串

Items.Insert()方法

参数1,要插入的位置,参数2文本

Items.Clear()方法

清除全部项

Items.Remove()方法

参数为要移除的项名称

Items.RemoveAt()方法

使用索引移除

●ComboBox控件:

(由一个文本框可一个列表款组合成)

DropDownStyle属性

★ComboBoxStyle.DropDown,下拉式。

文本可编辑,单击按钮时,列表显示

★ComboBoxStyle.Simple,简单模式。

文本可编辑,总是显示列表

★ComboBoxStyle.DropDownList,下拉列表式,不可编辑文本。

方法和ListBox的一致

●ListView控件:

View属性

★LargeIcon:

默认视图模式,大图标。

★SmallIcon:

小图标。

★List:

单列显示。

★Details:

详细显示,功能能实现像资源管理器,有列标题。

Items属性

★可以打开ListViewItem集合编辑器,编辑项。

★当为Details模式时,可以编辑列标题,不要求使用代码添加列标,使用ColumnHeader集合编辑器。

Activation属性

采取何种方式激活:

★默认为Standard,双击激活;

★OneClick,单击一下激活;

★TwoClick,双击激活,单击一次后变色,后鼠标移上去后会变色。

●状态栏(StatusStrip类):

Items属性

4个重要的半生类:

★ToolStripStatusLabel,用于显示文本的面板;

★ToolStripProgressBar,进度条;

★ToolStripDropDownButton,可添加一个类型系统开始菜单;

★ToolStripSplitButton,功能类似上者;

●进度条(ProgressBar类):

Minimun属性

设置进度条的最小值

Maximun属性

设置最大值

Value属性

设置当前值

●图片框(PictureBox类):

Image属性

导入图片

SizeMode属性

★默认值为Normal,图片与图片框左上角对齐,裁剪右下部分;

★AutoSize,控件大小调整为图片大小;

★CenterImage,图片中间部分显示,裁剪边缘;

★StretchImage,图像大小调整为框大小,会丢失像素。

●定时器(Timer):

Enable属性

设为布尔值,为true时,可触发Tick事件,反之不能。

Interval属性

时间间隔,单位为毫秒(ms),1000ms=1s。

Tick事件

每隔时间间隔触发

因为Timer控件经常用于显示当前系统时间,记住DataTime.Now.ToLongTimeString()的使用。

●RadioButton控件,单选按钮;CheckButton,复选按钮:

都有Checked属性

用于判断是否选中

都有CheckedChanged事件

当该类控件数组改变状态时触发,这个是重点,P153例5.13的后半部分的写法,当多个该类控件位于一个容器控件中,可以使用foreach的遍历方法判断。

都有AutoCheck属性

设置为true,各自代表:

★单选按钮:

系统清除其他按钮的选中状态

★多选按钮:

系统会自动被选中,即打个勾。

CheckButton的CheckState属性

返回CheckState.Checked,或CheckState.Unchecked,当它的ThreeState属性设置为true时,会返回CheckState.Indeterminate(不确定状态,即不可选)

●GroupBox:

属于容器控件,可以布局其他子控件,其Controls属性表示其中的控件数组。

C#中,控件可复制粘贴,很方便。

●菜单(MenuStrip类):

(该控件要考也是编程方式添加一个菜单):

★ToolStripMenuItem类,全部的菜单项类,包括顶级菜单项和子菜单项都是使用该类,只是在加载顶级菜单时,是MenuStrip的对象,使用Items.AddRange()方法,参数是一个ToolStripItem数组,即是ToolStriMenuItem成员。

当加载子菜单时,就是上一级菜单对象,使用Items.DropDownItems.AddRange()方法。

★了解一下ToolStripSeparator类,用于分隔。

★重点看P156例5.8。

●对话框:

无模式对话框的显示,使用Show()方法

所谓无模式就是,可以多个窗体切换

模式对话框使用ShowDialog()方法打开

即表示,必须处理完该模式对话,关闭后才可切换

DialogResult属性

关闭时返回值,主用是DialogResult.Ok。

如果设置为DialogResult.None,对话框一直保存打开状态

★通用对话框有很多种类,P158表5.10。

★上课介绍过FontDialog和ColorDialog,注意其FontDialog.Font(代码中是使用对象获取)属性,ColorDialog.Color属性,用于设置字体和颜色。

★书上介绍的OpenFileDialog,打开文件对话框

文件对话框的重要属性:

★DefaultExt:

设置默认后缀。

★Filter:

过滤器,写法要会,例如:

“文本文件(*.txt)|*.txt|所有文件(*.*)|*.*”

★FilterIndex:

设置使用哪种过滤。

★FileName属性用于返回用户选择文件名。

●MDI窗体,多文档界面设计:

★涉及窗体控件的IsMdiContainter属性,设为true的话,就为MDI父窗口。

★一般会把父窗口的WindowState属性设为Maxmized,即最大化。

★如果加载一个新的窗口控件:

选择“项目”—>“添加Windows窗体”—>打开添加新项对话框—>默认就是选择的“Windows窗体”->单击“添加”按钮。

★子窗体对象的MdiParent属性赋值为父窗体对象。

并且子窗体打开只能是无模式打开,即使用Show()方法。

●打印控件:

(了解)

相关类

说明

PrintDocument组件

用于打印输出,主要是其PrintPage事件

PrintDialog组件

用于选择打印机,选择打印项目等

PrintPreviewDialog组件

打印预览

25.GDI+编程的相关类:

(这一章的内容,有的函数的参数较多,有点复杂,只有靠记了,在第6章)

重要方法

说明

Graphics

★如果获取Graphics对象:

在窗体的Paint事件中,把PaintEventArg类的Grapahics属性赋值获得。

★使用控件或窗体的CreateGraphics()获取。

★使用Graphics的静态方法FromImage(),其中参数是一个Image对象。

★有很多画图的函数,如画矩形DrawRectangle();画线DrawLine()等等。

★绘制实心的图像,如FillPie(),填充一个扇形,其中参数较多,以看书为准,P173图6.4。

★输出字符串,DrawString()。

用户通过Graphics对象在屏幕上绘制图形,写文本,操作图像。

Brush(抽象类),只用使用其子类实例化

SolidBrush

纯色画刷

TextureBrush

使用图像绘制

LinearGradentBrush

渐变色

Pen

构造方法中,可:

★由一个画刷对象作参数;亦可加上画笔的宽度

★由一个Color对象作参数;也可指定宽度

26.首先大体上对C#文件类体系了解一下,详细看书本P176页图7.1:

27.File类:

主用用于对文件的管理。

重要静态方法,所以用类名调用

说明

★Create()

★CreateText()

★参数是文件的路径,返回一个FileStream对象,也就是创建流文件

★创建文本文件,返回一个StreamWriter对象

★Open()

★OpenText()

★打开一个已经存在的文件,返回一个FileStream对象

★打开一个存在的文本文件,返回一个StreamReader对象

Exists()

判断文件是否存在,返回逻辑值

Copy()

参数1是源文件,参数2是目标文件

Move()

参数和复制文件一样,实现文件剪切

Close()

关闭文件,对于流文件,必须先关闭再删除

Delete()

删除文件

28.FileInfo类和File类的大部分功能相似,唯一不同的用法,FileInfo类必须实例化对象,使用其实例成员函数,实现对文件的操作。

记住一个Length属性,获取文件大小。

FileStream类,用于创建二进制文件和其他类型的文件,也是要实例化对象,它的构造函数参数较多,了解一下。

例如:

stringpath=@"D:

\222.bin";

FileStreamfs=newFileStream(path,FileMode.Create);

try{

//TODO

}catch(Exceptione){}

finally

{

fs.Close();

}

29.掌握相关知识点,一般打开一个文件,需要关闭它,一般写成try–catch–finally模块,在C#中,提供了一种简洁的方式,使用using模块,可以省去自己手动关闭文件的操作,包括后面的数据库操作也是一样。

例如:

stringpath=@"E:

\222.txt";

using(StreamWritersw=File.CreateText(path))

{

//TODO

}

30.Directory类:

对文件夹的管理。

静态方法

说明

CreateDirectory()

参数是路径名,返回一个DirectoryInfo对象

Exists()

判断是否存在

Move()

剪切文件夹,参数1源文件夹,参数2目标文件夹。

Delete()

删除文件夹

GetDirectories()

获得文件夹下的子文件夹名称,返回一个字符串数据组,

GetFiles()

获得文件下的全部文件名称,也是返回一个字符串数组

31.DirectoryInfo类,同样道理,也是要求实例化对象后再使用,不同点:

MoveTo()

那么使用对象操作,带一个参数,剪切到新的路径中。

CreateSubDirectory()

在当前对象表示的文件夹下,创建子文件夹

GetDirectories()

返回子目录,是返回一个DirectoryInfo对象数组

GetFiles()

返回文件夹下的全部文件,是返回一个FileInfo对象数组

32.Path类:

功能是处理路径字符串的,也都是静态方法:

(详细见P181表7.4)

ChangeExtension()

顾名思义,更改文件后缀

GetExtension()

获取后缀名

GetFileName()

获取一个路径中的文件名及其后缀

HasExtension()

判断是否带了后缀

33.关于文件的读写,主要也是对文本文件的读写,那么就涉及:

●StreamReader类:

在构造函数当中,有一个可以指定文件的编码方式的,所有了解一下Encoding类,有ASCII文件,Unicode编码文件等。

重点是掌握,ReadLine()方法,读一行;Read()方法,读取字符,返回一个int类型。

●StreamWriter类:

写文本文件,构造其对象的方法同样很多,不重复说了,重点是写文件的函数,WriteLine(),可写入的数据类型有很多,并自动换行。

Wirte()函数,形式一样很多,很灵活,可见P185书本例题。

34.数据库的连接:

●重点是掌握Connection类的子类;

●对于Access数据库的连接(估计考试也是连接Access数据库),OleDbConnection类,需要引起System.Data.OleDb命名空间;

●主要是要记住连接的字符串怎么写,就是构造函数的参数:

“Provider=Microsoft.Jet.OLEDB.4.0;DataSource=数据库的全路径”

●连接后要使用Open()函数打开数据库,并且可以判断是否连接成功和打开成功,例如:

u

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1