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

一、深入.NET框架

那些年【深入.NET平台和C#编程】,

一、深入.NET框架

一..NET框架具备多少个零部件:CL本田UR-V(公共语言运营时)和FCL(框架类库),CLEscort是.NET框架的根基

二.框架主旨类库:

System.Collections.Generic:泛型操作

System.IO:IO流操作

System.Net:互连网编制程序

System.Data:ADO.NET结构的类的访问

System.Windows.Forms:窗体操作

System.Drawing:图形操作

二、深入C#数据类型

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

public struct Student
{
}

2.拆箱和装箱:

装箱:便是把值类型转变为引用类型

object o=1;

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

int num=(int)o;

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

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

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

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

三、泛型集合

一.集结的概念:

集中就是将一群数据类型的数目放在一齐的一种容器,和数组是很相像的事物。

二.凑合的归类以及声明方法

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(),增加加少的方法

2.Remove(),删除数据的措施,()里填的是壹整条的数量,单列集合的删除,会集会去自动爱抚数据,那样集结不会产出某些索引的值是为空的

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

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

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

六.Capacity属性,集合的体量,集合的容积是成倍(2倍)的增添的,Count为0时,Capacity为0,Count为1时,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); }

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

4、深远类的不二等秘书技

壹.艺术重载:通过传的参数的例外从而调用不一样的办法,方法名同样,参数类型差别,参数顺序不相同,参数个数差别,和再次回到值非亲非故

参数类型分化:

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};

}

三.对象间的竞相

三个TV类:

public class Tv

{

  public void Play(){};

}

二个电视机工具类

public class TvTool

{

  public void Play()

  {

    Tv t=new Tv();

    t.Play();

  }; 

}

主程序中:

TvTool tool=new TvTool();

tool.Play();

故而只有调节三个类去调整其余类

5、承接和多态

1.蝉联:子类承袭父类,子类便足以动用父类的属性和措施,承接用“:”(冒号)实现持续

父类:

public class Man

{

  int age;

  string name;

  public void Say()

  {

  };

}

子类:

public class Student:Man

{

  public void Play()

  {

    方法里便足以选取父类的天性和办法

    age=1;

    name=”张三”;

    Say();

  };

}

二.虚方法达成多态:通过子类重新父类的办法,完结多态,从而3个措施落成差异成效

父类:

public class Man

{

  public virtual void Say()

  {

  }

}

子类:

public class Student:Man

{

  public override void Play()

  {

    笔者是一个学员

  }

}

public class Super:Man

{

  public override void Play()

  {

    小编是1个卓越

  }

}

陆、深远多态

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:当前节点的全数子节点

3.treeView绑定节点

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

八、文件操作

1.读写文件

写:

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

StreamWriter sw=new StreamWriter(fs);

sw.Writer(需求些的文书);

那个年【深切.NET平台和C#编制程序】。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:文件地方

 

一、深刻.NET框架
一..NET框架具备七个零件:CL揽胜(公共语言运维时)和FCL(框架类库),CL卡宴是.NET框架的基础…

一、深入.NET框架

ArrayList (非泛型集结  using System.Collections;)

public void Text1(){

ArrayList al = new ArrayList ();

al.Add (“刘德化”);       //添日币素

al.Add (“张学友”);

//遍历格局一

for (int i = 0; i < al.Count; i++) {

Console.WriteLine (al[i]);

}

//遍历形式二

foreach (var item in al) {

Console.WriteLine (item);

}}

/* HashTable*/(非泛型会集)

//Key—value

//那其间Key是绝无仅有的

Hashtable ht=new Hashtable();

ht.Add (001, “AAA”);

ht.Add (002, “BBB”);

ht.Add (003, “CCC”);

//通过Key取value

Console.WriteLine (ht[001]);

//通过一个Key移除3个值

ht.Remove(001);

Console.WriteLine (ht[001]);

//全体免去

ht.Clear();

Console.WriteLine (ht[003]);

壹..NET框架具备三个零件:CLRAV四(公共语言运转时)和FCL(框架类库),CLSportage是.NET框架的根底

壹..NET框架具备三个零件:CLCR-V(公共语言运转时)和FCL(框架类库),CLBMWX3是.NET框架的根底

//stack:(非泛型会集)

2.框架宗旨类库:

二.框架主旨类库:

                        先进后出的管理情势

//stack:都属于不安全的会晤,(他能够积攒各类数据类型)

//装箱和拆箱

//装正是把一般类型转变为object对象类型

//拆正是把装好的object拆成装箱此前的真正类型(强制调换)

//占用内存,消耗内部存款和储蓄器过大

Stack sk = new Stack ();

//向栈中添泰铢素

sk.Push (1);

sk.Push (“你好0”);

sk.Push (“你好1”);

sk.Push (“你好2”);

Console.WriteLine (sk.Count);

回到栈顶成分并移除

string s=(string)sk.Pop();

Console.WriteLine (s);

归来栈顶成分不移除

string s1=(string)sk.Peek();

Console.WriteLine (s1);

Console.WriteLine (“——-“);

看清莫个要素是或不是在栈中

bool isHas=sk.Contains(1);

if (isHas) {

Console.WriteLine (“Ture”);

}

从Stack中移除全数目的

                             Console.WriteLine (a);

//遍历

foreach (var item in sk) {

Console.WriteLine (item);

}

System.Collections.Generic:泛型操作

System.Collections.Generic:泛型操作

//队列(queue)(非泛型群集)

Queue q = new Queue ();

//Queue<int> qu=new Queue<int>

//添台币素到行列尾部

q.Enqueue (1);

q.Enqueue (2);

q.Enqueue (3);

//再次回到队列最前的要素,并剔除

object obj=q.Dequeue();

Console.WriteLine (obj);

归来队列最前成分,不删除

q.Peek();

foreach (object item in q)

{

Console.WriteLine (item);

}

System.IO:IO流操作

System.IO:IO流操作

泛型会集(using System.Collections.Generic;)

 * 集结:ArrayList(非泛型集结)

 * ArrayList 是三个数组集结

 * List<T>

 * 它属于动态改造长度的数组集结,不须求我们管

 * 

public void Text5()

{

List<int> al1 = new List<int> ();

Stopwatch sw = new Stopwatch ();//时间(using System.Diagnostics;)

sw.Start ();

for (int i = 0; i < 10000; i++) {

al1.Add (i);

}

sw.Stop ();

// Console.WriteLine (“时间是:{0}”,sw.Elapsed);

Console.WriteLine (“22”);

}

//练习一:设计二个学童系统,能够录入学生相关信息,并且能通过学号反向输出学生的全体新闻

//演练2;依照上题,扩大能够追加或删除学生成效

public void Text9()

{

//录入

List<Student> l = new List<Student> ();

bool d=true;

while(d){

Console.WriteLine (“请输入数子选则你想要的操作 1-录入 二-输入学号查看
叁删除”);

int f = int.Parse (Console.ReadLine ());

if(f==1){

Console.WriteLine (“请输入你要录入的学生学号,姓名,性别”);

int a = int.Parse (Console.ReadLine ());

string b = Console.ReadLine ();

string c = Console.ReadLine ();

l.Add (new Student (a, b, c));

foreach (Student item in l) {

Console.WriteLine (“学号为:{0} 姓名为:{1} 性别为:{2} “, item.id,
item.name, item.age);

}

}

if (f == 2) {

Console.WriteLine (“请输入学号查看该学生新闻”);

int g = int.Parse (Console.ReadLine ());

foreach (Student item in l) { 

Console.WriteLine (“学号为:{0} 姓名为:{1} 性别为:{2} “, g, item.name,
item.age);

}

}

if (f == 3) {

Console.WriteLine (“请输入学号删除该学员音讯”);

int v = int.Parse (Console.ReadLine ());

for (int j = 0; j < l.Count; j++) { 

//Console.WriteLine (“学号为:{0} 姓名为:{1} 性别为:{2} “, l [j].id,
l [j].name, l [j].age);

if (l [j].id == v) { 

l.Remove (l [j]); 

//Console.WriteLine (“删除成功!”);

}

Console.WriteLine (“剩余学生:”);

Console.WriteLine (“学号为:{0} 姓名为:{1} 性别为:{2} “, l [j].id, l
[j].name, l [j].age);

}

}

}

}

class Student

{

public int id;

public string name;

public string age;

public Student(int id,string name,string age)

{

this.id=id;

this.name=name;

this.age=age;

}

}

System.Net:互连网编制程序

System.Net:网络编程

System.Data:ADO.NET结构的类的走访

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

System.Windows.Forms:窗体操作

System.Windows.Forms:窗体操作

System.Drawing:图形操作

System.Drawing:图形操作

二、深入C#数据类型

二、深入C#数据类型

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

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

public struct Student
{
}

public struct Student
{
}

2.拆箱和装箱:

二.拆箱和装箱:

装箱:正是把值类型转变为引用类型

装箱:正是把值类型转变为引用类型

object o=1;

object o=1;

拆箱:正是把引用类型调换为值类型

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

int num=(int)o;

int num=(int)o;

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

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

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

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

b.无ref修饰时,是值类型的,修改的值不团体带头人久保存

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

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

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

三、泛型集结

三、泛型集结

1.集聚的概念:

壹.凑合的概念:

聚拢就是将一群数据类型的数据放在一齐的1种容器,和数组是很相像的事物。

集中便是将一批数据类型的多寡放在①块儿的1种容器,和数组是很一般的东西。

二.集聚的归类以及注脚方法

二.群集的分类以及注解方法

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

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

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

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

b.会集的宣示

b.集合的表明

ArrayList list=new ArrayList();

ArrayList list=new ArrayList();

Hashtable list=new Hashtable();

Hashtable list=new Hashtable();

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

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

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

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

3.成团的主意和性质

三.会见的措施和属性

壹.Add(),增扩展少的格局

1.Add(),扩充加少的点子

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

2.Remove(),删除数据的章程,()里填的是一整条的数目,单列集合的删减,集结会去自动敬爱数据,这样集结不会并发有个别索引的值是为空的

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

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

4.Clear(),清空集结的富有数据

四.Clear(),清空会集的有所数据

伍.Count属性,能够拿走集结有几条数据

伍.Count属性,能够获得群集有几条数据

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

6.Capacity属性,会集的容积,集结的体积是成倍(二倍)的加码的,Count为0时,Capacity为0,Count为1时,Capacity为4

柒.Contains(),单列会集用来决断有个别数据是不是存在

7.Contains(),单列会集用来判断有些数据是或不是存在

捌.ContainsKey(),双列判定是不是留存某些Key值

捌.ContainsKey(),双列推断是不是存在某些Key值

玖.ContainsValue(),双列判断是或不是留存某些Value值

玖.ContainsValue(),双列决断是不是留存某些Value值

4.凑合的遍历方法

四.会合的遍历方法

HashTable和Dictionary遍历差异正是,遍历值类型的时候,HashTable须要实行类型调换(拆箱,装箱)

HashTable和Dictionary遍历不一样正是,遍历值类型的时候,HashTable必要开始展览类型调换(拆箱,装箱)

HashTable:

HashTable:

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

(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); }

(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); }

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

Dictionary:

Dictionary:

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

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

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

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

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

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

4、深切类的艺术

4、深入类的形式

一.艺术重载:通过传的参数的差异从而调用分歧的点子,方法名一样,参数类型分裂,参数顺序差别,参数个数不一样,和再次回到值无关

1.方法重载:通过传的参数的例外从而调用不相同的方法,方法名一样,参数类型不一致,参数顺序分裂,参数个数不一样,和再次回到值毫无干系

参数类型区别:

参数类型差异:

public void Play(int num){};

public void Play(int num){};

public void Play(string name){};

public void Play(string name){};

参数顺序区别:

参数顺序分化:

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

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

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

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

参数个数不相同:

参数个数不相同:

public void Play(int num){};

public void Play(int num){};

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

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

和重回值毫无干系:

和重临值无关:

public string Play(int num){};

public string Play(int num){};

public int Play(int num){};

public int Play(int num){};

贰.类的构造:和类名同样,无重回值

二.类的布局:和类名一样,无重返值

无参构造:

无参构造:

public class Student

public class Student

{

{

  public Student(){};

  public Student(){};

}

}

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

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

public class Student

public class Student

{

{

  public string Name { get; set; }

  public string Name { get; set; }

  public Student(){};

  public Student(){};

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

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

}

}

3.对象间的互相

三.对象间的相互

1个电视机类:

二个TV类:

public class Tv

public class Tv

{

{

  public void Play(){};

  public void Play(){};

}

}

1个TV工具类

三个TV工具类

public class TvTool

public class TvTool

{

{

  public void Play()

  public void Play()

  {

  {

    Tv t=new Tv();

    Tv t=new Tv();

    t.Play();

    t.Play();

  }; 

  }; 

}

}

主程序中:

主程序中:

TvTool tool=new TvTool();

TvTool tool=new TvTool();

tool.Play();

tool.Play();

据此唯有调控2个类去调整其余类

就此唯有调整一个类去决定别的类

伍、承继和多态

5、承袭和多态

一.三番五次:子类承继父类,子类便足以利用父类的性质和措施,承继用“:”(冒号)落成接二连三

一.继续:子类承袭父类,子类便足以应用父类的习性和措施,继承用“:”(冒号)完结再而三

父类:

父类:

public class Man

public class Man

{

{

  int age;

  int age;

  string name;

  string name;

  public void Say()

  public void Say()

  {

  {

  };

  };

}

}

子类:

子类:

public class Student:Man

public class Student:Man

{

{

  public void Play()

  public void Play()

  {

  {

    方法里便足以动用父类的习性和章程

    方法里便足以应用父类的质量和形式

    age=1;

    age=1;

    name=”张三”;

    name=”张三”;

    Say();

    Say();

  };

  };

}

}

二.虚主意达成多态:通过子类重新父类的主意,完结多态,从而3个艺术实现不一样功用

二.虚主意达成多态:通过子类重新父类的情势,完毕多态,从而三个艺术落成分歧功能

父类:

父类:

public class Man

public class Man

{

{

  public virtual void Say()

  public virtual void Say()

  {

  {

  }

  }

}

}

子类:

子类:

public class Student:Man

public class Student:Man

{

{

  public override void Play()

  public override void Play()

  {

  {

    小编是3个学生

    小编是多个学生

  }

  }

}

}

public class Super:Man

public class Super:Man

{

{

  public override void Play()

  public override void Play()

  {

  {

    笔者是三个出色

    笔者是三个超人

  }

  }

}

}

6、深切多态

6、深刻多态

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

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

2. is 和  as

2. is 和  as

is操作符用于检查对象和钦赐的种类

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

as操作符用于三个目标之间的类型转变

as操作符用于五个对象时期的类型转变

三.抽象类完结多态

3.抽象类达成多态

父类:

父类:

public abstract class Man

public abstract class Man

{

{

  public abstract void Say()

  public abstract void Say()

  {

  {

  }

  }

   public void Play(){}

   public void Play(){}

  抽象类能够有常常方法

  抽象类能够有平凡方法

}

}

子类:

子类:

public class Student:Man

public class Student:Man

{

{

  public override void Play()

  public override void Play()

  {

  {

    作者是一个学生

    小编是2个上学的小孩子

  }

  }

}

}

public class Super:Man

public class Super:Man

{

{

  public override void Play()

  public override void Play()

  {

  {

    笔者是二个独立

    作者是3个头名

  }

  }

}

}

七、Xml操作

七、Xml操作

1.Xml解析

1.Xml解析

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

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

foreach (XmlNode item in root.ChildNodes)
{  

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;

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

}

}

可以将Xml数据放在集结中

能够将Xml数据放在集结中

也足以透过索引器进行剖析到Xml数据

也足以经过索引器举办辨析到Xml数据

二.有关XmlNode对象的性质

二.关于XmlNode对象的个性

InnerText:当前节点的值

InnerText:当前节点的值

Name:当前节点的称号

Name:当前节点的称谓

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

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

叁.treeView绑定节点

三.treeView绑定节点

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

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

八、文件操作

捌、文件操作

一.读写文件

一.读写文件

写:

写:

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

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

StreamWriter sw=new StreamWriter(fs);

StreamWriter sw=new StreamWriter(fs);

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

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

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

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

fs.Close();

fs.Close();

读:

读:

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

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

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

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

String txt=sw.ReadToEnd();

String txt=sw.ReadToEnd();

sw.Close();     

sw.Close();     

fs.Close();

fs.Close();

二.相关属性

二.相关属性

Exists:潘决断是还是不是存在

Exists:潘判别是还是不是存在

Extension:后缀名

Extension:后缀名

Naem:文件名

亚洲必赢官网 ,Naem:文件名

FullName:文件地方

FullName:文件地方

 

 

网站地图xml地图