IT知识库 购物 网址 游戏 小说 歌词 快照 开发 股票 美女 新闻 笑话 | 汉字 软件 日历 阅读 下载 图书馆 编程 China
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
vbs/VBScript DOS/BAT hta htc python perl 游戏相关 VBA 远程脚本 ColdFusion ruby专题 autoit seraphzone PowerShell linux shell Lua Golang Erlang 其它教程 CSS/HTML/Xhtml html5 CSS XML/XSLT Dreamweaver教程 经验交流 开发者乐园 Android开发资料
站长资讯 .NET新手 ASP.NET C# WinForm Silverlight WCF CLR WPF XNA VisualStudio ASP.NET-MVC .NET控件开发 EntityFramework WinRT-Metro Java C++ PHP Delphi Python Ruby C语言 Erlang Go Swift Scala R语言 Verilog 其它语言 架构设计 面向对象 设计模式 领域驱动 Html-Css JavaScript jQuery HTML5 SharePoint GIS技术 SAP OracleERP DynamicsCRM K2 BPM 信息安全 企业信息 Android开发 iOS开发 WindowsPhone WindowsMobile 其他手机 敏捷开发 项目管理 软件工程 SQLServer Oracle MySQL NoSQL 其它数据库 Windows7 WindowsServer Linux
  IT知识库 -> C# -> 那些年【深入.NET平台和C#编程】 -> 正文阅读

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

那些年【深入.NET平台和C#编程】 一、深入.NET框架
1..NET框架具有两个组件:CLR(公共语言运行时)和FCL(框架类库),CLR是.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
{
}
2.拆箱和装箱:
装箱:就是把值类型转换为引用类型
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>();
3.集合的方法和属性
1.Add(),增加数据的方法
2.Remove(),删除数据的方法,()里填的是一整条的数据,单列集合的删除,集合会去自动维护数据,这样集合不会出现某个索引的值是为空的
3.RemoveAt(),同样也是删除数据的方法,()里填的是索引(单列)双列没有RemoveAt()方法,
4.Clear(),清空集合的所有数据
5.Count属性,可以得到集合有几条数据
6.Capacity属性,集合的容量,集合的容量是成倍(二倍)的增加的,Count为0时,Capacity为0,Count为1时,Capacity为4
7.Contains(),单列集合用来判断某个数据是否存在
8.ContainsKey(),双列判断是否存在某个Key值
9.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); }
(3).通过整体的双列集合遍历 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); }
四、深入类的方法
1.方法重载:通过传的参数的不同从而调用不同的方法,方法名相同,参数类型不同,参数顺序不同,参数个数不同,和返回值无关
参数类型不同:
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){};
2.类的构造:和类名相同,无返回值
无参构造:
public class Student
{
  public Student(){};
}
带参构造:有带参构造,必须写出类的无参构造
public class Student
{
  public string Name { get; set; }
  public Student(){};
  public Student(string name){this.Name=name};
}
3.对象间的交互
一个电视类:
public class Tv
{
  public void Play(){};
}
一个电视工具类
public class TvTool
{
  public void Play()
  {
    Tv t=new Tv();
    t.Play();
  }; 
}
主程序中:
TvTool tool=new TvTool();
tool.Play();
从而只有控制一个类去控制别的类
五、继承和多态
1.继承:子类继承父类,子类便可以使用父类的属性和方法,继承用“:”(冒号)实现继承
父类:
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()
  {
    我是一个学生
  }
}
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数据
2.关于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(需要些的文本);
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:文件地址
上一篇文章      下一篇文章      查看所有文章
加:2016-09-25 21:43:14  更:2017-05-14 19:30:22 
 
  C# 最新文章
字符串阵列分别输出元素的索引,原值和长度
格式化你的字符串
C#宣告一个变量
C#中级
拆分一个字符串并把每个字符单独输出
通过手机号定位归属地
C# DBNULL与NULL之间的区别【转】
Xamarin
List,DataTable实现行转列的通用方案
C# 语音识别
技术频道: 站长资讯 .NET新手区 ASP.NET C# WinForm Silverlight WCF CLR WPF XNA Visual Studio ASP.NET MVC .NET控件开发 Entity Framework WinRT/Metro Java C++ PHP Delphi Python Ruby C语言 Erlang Go Swift Scala R语言 Verilog 其它语言 架构设计 面向对象 设计模式 领域驱动设计 Html/Css JavaScript jQuery HTML5 SharePoint GIS技术 SAP Oracle ERP Dynamics CRM K2 BPM 信息安全 企业信息化其他 Android开发 iOS开发 Windows Phone Windows Mobile 其他手机开发 敏捷开发 项目与团队管理 软件工程其他 SQL Server Oracle MySQL NoSQL 其它数据库 Windows 7 Windows Server Linux
脚本语言: vbs/VBScript DOS/BAT hta htc python perl 游戏相关 VBA 远程脚本 ColdFusion ruby专题 autoit seraphzone PowerShell linux shell Lua Golang Erlang 其它教程
网站开发: CSS/HTML/Xhtml html5 CSS XML/XSLT Dreamweaver教程 经验交流 开发者乐园 Android开发资料
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 新闻资讯 小游戏 Chinese Culture 股票 三丰软件 开发 中国文化 网文精选 阅读网 看图 日历 万年历 2018年12日历
2018-12-10 19:43:52
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT知识库