那多少个年【深切.NET平台和C#编制程序】

一、深入.NET框架

一..NET框架具有五个零件:CLLacrosse(公共语言运维时)和FCL(框架类库),CLPRADO是.NET框架的底子

2.框架宗旨类库:

System.Collections.Generic:泛型操作

System.IO:IO流操作

System.Net:网络编制程序

System.Data:ADO.NET结构的类的拜会

System.Windows.Forms:窗体操作

System.Drawing:图形操作

二、深入C#数据类型

1.结构体:结构体是由struct修饰的类,结构体是值类型(枚举也是值类型)

public struct Student
{
}

二.拆箱和装箱:

装箱:就是把值类型转换为引用类型

object o=1;

拆箱:就是把引用类型转换为值类型

int num=(int)o;

3.值传递和引用传递(有无ref修饰)

a.有ref修饰时,修改的值会永久保存

b.无ref修饰时,是值类型的,修改的值不会永远保存

c.无ref修饰时,是援引类型的,修改的值会永久保存

三、泛型集合

壹.成团的概念:

聚集正是将一群数据类型的数量放在一起的1种容器,和数组是很相像的事物。

2.聚集的分类以及表明方法

a.集合分为非泛型和泛型集合,非泛型又分单列(ArrayList)和双列(Hashtable),泛型也分单列(List<T>)和双列(Dictionary<K,V>)。

单列的T数据项目可以为object类型,双列的K,V也得以是object类型

b.集合的宣示

ArrayList list=new ArrayList();

Hashtable list=new Hashtable();

List<T> list=new List<T>();

Dictionary<K,V> list=new Dictionary<K,V>();

叁.聚众的法子和总体性

一.Add(),扩张多少的主意

二.Remove(),删除数据的措施,()里填的是一整条的数码,单列集合的删减,集合会去自动爱惜数据,那样集合不会产出有个别索引的值是为空的

三.RemoveAt(),同样也是去除数据的点子,()里填的是索引(单列)双列未有RemoveAt()方法,

四.Clear(),清空集合的有着数据

五.Count属性,能够拿走集合有几条数据

陆.Capacity属性,集合的体量,集合的容积是成倍(2倍)的充实的,Count为0时,Capacity为0,Count为一时,Capacity为四

7.Contains(),单列集合用来判定某些数据是否存在

捌.ContainsKey(),双列判断是或不是存在有个别Key值

九.ContainsValue(),双列判断是或不是留存有个别Value值

4.会晤的遍历方法

HashTable和Dictionary遍历差别正是,遍历值类型的时候,HashTable要求举办类型转换(拆箱,装箱)

HashTable:

(1).通过Key值遍历 foreach (string item in list.Keys) {
Console.WriteLine(list[item]); }

(2).通过value值遍历 foreach (Student item in list.Values) {
Console.WriteLine((Student)item.Name); }

(三).通过总体的双列集合遍历 foreach (DictionaryEntry item in list) {
Console.WriteLine(item.Key);
Console.WriteLine(((Student)item.Value).Name); }

Dictionary:

(1).通过Key值遍历 foreach (string item in list.Keys) {
Console.WriteLine(list[item]); }

(2).通过value值遍历 foreach (Student item in list.Values) {
Console.WriteLine(item.Name); }

(三).通过一体化遍历 foreach (KeyValuePair<T,V> item in list) {
Console.WriteLine(item.Key); Console.WriteLine((item.Value).Name); }

肆、深切类的措施

壹.措施重载:通过传的参数的不如从而调用分歧的方法,方法名相同,参数类型差异,参数顺序差别,参数个数差别,和重回值非亲非故

参数类型不一致:

public void Play(int num){};

public void Play(string name){};

参数顺序分化:

public void Play(int num,int age){};

public void Play(int age,int num){};

参数个数分歧:

public void Play(int num){};

public void Play(string name,int num){};

和重临值毫不相关:

public string Play(int num){};

public int Play(int num){};

贰.类的构造:和类名相同,无再次回到值

无参构造:

public class Student

{

  public Student(){};

}

带参构造:有带参构造,必须写出类的无参构造

public class Student

{

  public string Name { get; set; }

  public Student(){};

  public Student(string name){this.Name=name};

}

三.指标间的互相

1个电视机类:

public class Tv

{

  public void Play(){};

}

多个电视工具类

public class TvTool

{

  public void Play()

  {

    Tv t=new Tv();

    t.Play();

  }; 

}

主程序中:

TvTool tool=new TvTool();

tool.Play();

由此唯有控制2个类去决定别的类

伍、继承和多态

一.持续:子类继承父类,子类便足以选择父类的习性和措施,继承用“:”(冒号)完结接二连三

父类:

public class Man

{

  int age;

  string name;

  public void Say()

  {

  };

}

子类:

public class Student:Man

{

  public void Play()

  {

    方法里便能够利用父类的性质和办法

    age=1;

    name=”张三”;

    Say();

  };

}

二.虚措施达成多态:通过子类重新父类的点子,实现多态,从而2个格局实现差异功能

父类:

public class Man

{

  public virtual void Say()

  {

  }

}

子类:

public class Student:Man

{

  public override void Play()

  {

    作者是2个学员

  }

}

public class Super:Man

{

  public override void Play()

  {

    小编是1个超人

  }

}

陆、深刻多态

一.里氏尺度:父类实力化子类不会潜移默化程序

2. is 和  as

is操作符用于检核查象和点名的门类

as操作符用于多少个对象时期的类型转换

3.抽象类完结多态

父类:

public abstract class Man

{

  public abstract void Say()

  {

  }

   public void Play(){}

  抽象类能够有普普通通方法

}

子类:

public class Student:Man

{

  public override void Play()

  {

    作者是二个上学的小孩子

  }

}

public class Super:Man

{

  public override void Play()

  {

    笔者是三个典型

  }

}

七、Xml操作

1.Xml解析

XmlDocument doc = new XmlDocument();
doc.Load(path);
XmlNode root = doc.DocumentElement;

foreach (XmlNode item in root.ChildNodes)
{  

switch (item.Name)
{
case “Name”:
movieName = item.InnerText;
m.MovieName = movieName;
break;
case “Poster”:
playBill = item.InnerText;
m.Poster = playBill;
break;

}

能够将Xml数据放在集合中

也足以由此索引器举办分析到Xml数据

二.有关XmlNode对象的习性

InnerText:当前节点的值

Name:当前节点的称谓

ChildNodes:当前节点的全体子节点

叁.treeView绑定节点

TreeNode tn = new TreeNode(item);
tn.Tag = Schedule.Items[item].Movie;
Treeview.Nodes.Add(tn);

捌、文件操作

一.读写文件

写:

FileStream fs=new FileStream(path,FileMode.Create);

StreamWriter sw=new StreamWriter(fs);

sw.Writer(供给些的文本);

sw.Close();     后开的先关流

fs.Close();

读:

FileStream fs=new FileStream(path,FileMode.Open);

StreamWriter sw=new StreamWriter(fs,Ending.Default);

String txt=sw.ReadToEnd();

sw.Close();     

fs.Close();

2.相关属性

Exists:潘判断是还是不是留存

Extension:后缀名

Naem:文件名

FullName:文件地点

 

相关文章