标签:深入.net平台和c#编程
第一讲 :深入.NET框架
第二讲:深入C#数据类型
第三讲 :使用结合组织相关数据
第四讲 :深入类的方法
第六讲 :初识继承和多态
第七讲 :深入理解多态
第八讲 :可扩展标记语言(XML)
第九讲:文件操作
第一讲:深入.NET框架
线程睡眠:1.导入命名空间 System.Treading; 2.Thread.Sleed(毫秒);
1.System:此命名空间包含其他所有的命名控件。
2.System.Collections.Generic:支持泛型操作。
System.IO:支持对文件的操作,如复制、粘贴、删除以及对文件的读写等。
System.Net:支持对网络协议的编程。
System.Data:提供对便是ADO.NET结构的类的访问。
System.Windows.Forms:用于开发Windows应用程序。
System.Drawing:支持GDI+基本图形操作。
第二讲:深入C#数据类型
类别 |
描述 |
值类型
|
基本数据类型 |
整型:int |
长整型:long |
浮点型:float
双精度型:double
|
字符型:char |
布尔型:bool |
枚举类型 |
枚举:enum |
结构类型 |
结构:struct |
引用类型 |
类 |
基类:System.Object |
字符串:string |
自定义类:class |
接口 |
接口:interface |
数组 |
数组:int[],string[] |
2.定义:访问修饰符 struct 结构名{ //结构体 }
使用值方式(不用ref修饰)传递值类型参数时,参数在方法中的修改不会保留
使用值方式(不用ref修饰)传递引用类型参数时,参数在方法中的修改会保留
使用引用方式(用ref修饰)传递值类型或引用类型参数时,参数在方法中的修改都会被保留
第三讲:使用集合组织相关数据
例:ArrayList aa=new ArrayList();
aa.Add(Object) //添加
aa.Remove(Object Value) //通过对象删除
aa.Remove(int index) //通过索引删除
注:给ArrayList 添加的元素都会被转换为Object类型,所有在访问这些元素的时候必须把它们转换回原来的数据类型。
例:Hashtable aa=new Hashtable();
aa.Add(Key,Object value) //添加,Key类型不定,一般为唯一标识列
aa.Remove(Key) //删除,也可使用aa.Clear() 清除所有元素
注:Hashtable 不能用索引访问,因此遍历只能用foreach()方法,须转换类型
例:List aa=new List();
aa.Add( string value) //只能添加定义的数据类型
aa.RemoveAt(索引) //通过索引删除
aa.Remove(值或对象) //通过值或对象删除
例:Dictionary aa=new Dictionary();
aa.Add(Key,Value) //成对添加
aa.Remove(Key) //通过Key值删除
第四讲:深入类的方法
特点:1.方法名与类名相同 2.没有返回值类型 3.主要完成对象的初始化工作
注:写一个带参的构造函数之后,如果实例化的这个类不传参数,则需要多写一个无参的构造函数
特点:1.方法名相同 2.方法参数类型不同或者参数个数不同 3.在同一个类中
注:方法名及参数列表相同的方法,仅是返回类型不同,不能称为方法重载
第六章:初识继承和多态
修饰符 |
类内部 |
子类 |
其他类 |
Public |
可以 |
可以 |
可以 |
private |
可以 |
可以 |
不可以 |
protected |
可以 |
不可以 |
不可以 |
2.单根性(只能有一个老爸)
第七讲:深入理解多态
1.封装:保证对象自身数据的完整性和安全性。
2.继承:建立类之间的关系,实现代码复用,方便系统的扩展。
3.多态:相同的方法调用可实现不同的实现方式
第八讲:可扩展标记语言(XML)
例:读取XML文件的一般操作:
XmlDocument myXml=new XmlDocument(); //创建操作对象
myXml.Load(“文件路径”); //加载XML文件
XmlNode engineer=myXml.DocumentElement; //读取XML的根节点
//循环遍历根节点下的子节点,ChildNodes[0]则跳一级
Foreach(XmlNode node in engineer.ChildNodes)
{
String name=node[“节点文本”].InnerText
//如果获取节点文本则用node.Name
//如果获取文本节点中的name值则用node.Attributes[“节点文本”].InnerText
}
对象 |
属性和方法 |
说明 |
XmlDocument
|
DocumentElement属性 |
获取根节点 |
ChildNodes属性 |
获取所有子节点 |
Load()方法 |
读取整个XML的结构 |
XmlNode
|
InnerText属性 |
当前节点的值 |
Name属性 |
当前节点的名称 |
ChildNodes属性 |
当前节点的所有子节点 |
TreeView控件用于显示具有层次结构的信息,主要属性有Nodes和SelectedNode。Nodes属性包含了TreeView的节点对象,SelectedNode表示当前选中的节点。
TreeNode表示TreeView的节点对象。Text属性用于设置节点的文字描述,Tag属性可以设置与节点相关的信息。
通过TreeNode的Add()方法可以给TreeView添加节点,Remove()方法可以移除指定的节点,Clear() 方法可以移除指定节点下的所有节点。
第九讲:文件操作
1.创建文件流;2.创建阅读器或者写入器;3.执行读写操作;4.关闭阅读器或者写入器;5.关闭文件流。(注:流是一个用于数据传输的对象)
例:
//创建文件流
FileStream myfs=new FileStream(保存的路径,FileMode.Create);
//创建写入器
StreamWriter mySw=new StreamWriter(myfs);
//将内容写入文件
mySw.Write(“内容”);
//关闭写入器
mySw.Close();
//关闭文件流
myfs.Close();
StreamWriter.Write(); 用于写入流,这个流就是我们创建好的流。
StreamWriter.WriteLine(); 用于写入一行数据,写入某些数据后跟换行符。
StreamWriter.Close(); 用于关闭写入器。
StreamReader.ReadLine(); 读取文件流中的一行数据,并返回字符串
StreamReader.ReadToEnd(); 从当前位置读到末尾,返回字符串
StreamReader.Close(); 用于关闭读取器
返回值类型 |
方法名称 |
说明 |
bool |
Exists(string path) |
用于检查指定文件是否存在 |
void |
Copy(string sourceFilePath,
String destinationFilePath)
|
将指定路径的源文件中的内容复制到目标文件中,如果目标文件不存在,则在指定路径中新建一个文件 |
void |
Move(string sourceFileName
,string destFileName)
|
将指定文件移到一个新的路径 |
void |
Delete(string path) |
删除指定的文件,如果指定的文件不存在,则不引发异常 |
返回值类型 |
方法名称 |
说明 |
bool |
Exists(string path) |
用于检查指定文件夹在磁盘上是否存在 |
void |
Move(string sourceDirName,
String destDirName)
|
用于将文件或目录及其内容移到新位置 |
void |
Delete(string path,bool recursive) |
删除指定目录,如果recursive值为true,则删除子目录中的所有目录内容 |
静态类 |
非静态类 |
用static修饰 |
不用static修饰 |
只包含静态成员 |
可以包含静态成员 |
不可以包含实例成员 |
可以包含实例成员 |
使用类名调用静态成员 |
使用实例对象调用非静态成员 |
不能被实例化 |
可以被实例化 |
不能包含实例构造函数 |
包含实例构造函数 |
属性 |
说明 |
Exists |
用于检查指定文件是否存在,返回一个布尔值 |
Extension |
获取表示文件扩展名部分的字符串 |
Name |
获取文件名 |
FullName |
获取目录或文件的完整目录 |
返回值类型 |
方法 |
说明 |
FileInfo |
CopyTo(string) |
将现在文件复制到新文件,不允许覆盖现在文件 |
void |
Delete() |
永久删除文件 |
void |
maveTo(string) |
将指定文件移到新位置(string) |