常用名词解析
asp.net是微软公司的.Net技术框架下的B/S(网页方向)框架技术
ado.net则是由asp.net编程语言编写的交互数据层的一种方式
.net框架
.net编译过程
下载文件案例:
try
{
webclient wb =new webclient();
if(file.exists("xx.png"))
{
wb.downloadfile("下载地址","保存地址")
picshow.image=Image.fromfile("xx.png");
}
}
catch(exception ex)
{
MessageBox.show(ex.tostring)
}
测试网络案例
try
{
Ping pi = new ping();
PingReply reply= pi.send("ip".text.tostring())
if(reply.status == IPStatus.Success)
{
MessageBox.show(“成功”)
}else
{
MessageBox.show("失败")
}
catch(exception ex)
{
MessageBox.show(ex.tostring)
MessageBox.Show("异常",“提示”,MessageBoxButtons.OK,MessageBoxIcon.Information)
MessageBox.Show("异常",“提示”,MessageBoxButtons.OK,MessageBoxIcon.Error)
}
}
代码片段
public string Name{get;set;}
在绑定DataGridView 时可以用DBNull.Valus 绑定不存在的值
尽量减少装箱和拆箱
static void main(string[] args)
{
int i=123;
object o=i ; //装箱
int j = (int)o; //拆箱
}
集合
不可以改变集合:数组
可改变集合:system.collections.ArrayList
可改变集合字典:system.collection.Hashtable
泛型
List<T.>
Dictionary<K,V>
继承
继承需要符合is - a 的关系,及子类 is a 父类
this 当前实例
base 表示父类
public 全部
private 私有
protected 子类可使用
Employee构造方法
public Employee(int id, string name)
{
this.id=id;
this.name=name;
}
PM构造方法
public PE(int id, string name,int age):
base(id,name)
{
this.age=age;
}
public class PM:Employee
{
}
一个子类不能同时继承多个父类
if(PM is Employee)
{
}
多态
用虚方法实现多太步骤
1:子类重写父类的方法
1.1:创建父类变量,用子类对象实例化父类变量
1.2:把父类型作为参数类型,它的子类对象作为参数传入
2:运行时根据实际创建的对象决定执行的方法
virtual 定义为虚方法 override 重写
//Employee类
public virtual string SayHi()
{
}
//PM 类的方法
public override string SayHi()
{
}
as 两个对象直接的类型转换
PM pm = emplis[i] as PM
emplis[i] 转换为PM 如果失败,会返回null
抽象类和抽象方法
假如不希望基类被实例化,只提供定义,子类实现方法,就用抽象类
public abstract class TrafficTool
{
public abstract void run();
}
注意:
1:抽象类不能被实例
2:抽象类不能密封或者静态的
3:抽象类中可以有具体的实现方法
4:通过override 重写抽象类方法
简单工厂设计模式
1:抽象出父类:Pizza
2:子类实现抽象父类的所有方法
3:创建工厂类
public static Pizza CreatePizza(string type)
{
Pizza pizza=null;
switch(type)
{
case "奶酪"
pizza= new NailaoPizza();
csae"苹果"
pizza = new PinGuoPizza()
default:
break;
}
return pizza
}
单例模式(Singleton)
public partial class FrmPlay:Form
{
//唯一实例
private static FrmPlay uniqueFrmPlay;
//私有构造方法
private FrmPlay()
{
InitializeComponent()
}
//检查并创建唯一实例
public static FrmPlay getinterface()
{
if(uniqueFrmPlay ==null)
{
uniqueFrmPlay=new uniqueFrmPlay();
}
return uniqueFrmPlay
}
}
关闭过程中将实例引用为空 FrmPlay.uniqueFrmPlay = null;
XML解析
<engineer>
<id>1</id>
<name>1</name>
<age>1</age>
<engineer>
XmlDocument xml= new XmlDoment();
xml.Load("xx/engineer.xml") //读取xml文档
XmlNode eng=xml.DocumentElement; //读取xml 根节点
foreach(XmlNode node in eng.ChildNodes ) //对字节点循环
{
case “id”
node.name;
node.InnerText
node.ChildNodes 当前节点的所以子节点。
node["name"].InnerText
break;
case "age"
node.InnerText
break;
}
读写文件