C#高级编程学习1----总结
来源:互联网 发布:淘宝服装质量问题范围 编辑:程序博客网 时间:2024/06/06 14:06
多看,多练---》多写(程序是写出来的)
1.程序集
打包的类,
类的访问级别:public 公共的 private 私有的 protected 子类访问 internal(默认)
自己写程序集:新建类库---》生成(bin/Debug/dll文件)添加引用
程序集不能A-->B B--->A 不能相互引用(单向引用)
exe,dll都是程序集,exe有Main入口
GAC(全局程序集)
2.委托与事件
public delegate void SomeDelegate();
声明一个委托类型的写法: delegate 返回值类型 类型名称(参数)
public delegate string SomeDelegate(string s);
SomeDelegate s1=new SomeDelegate(FKH);//指向FKH方法,也可简写
SomeDelegate s2=FKH;
s1("IS this you handbag");调用
static string FKH(string s)
{
return "["+s+"]";
}
委托与事件的区别:委托是一种类型,事件是对象,没有可比性,事件内部是用委托来实现的。事件就类似于属性一样的.内部有一个add.remove 方法,让委托只能用+=来注册-=来取消.防止外面调用=null来取消了事件.
private SomeDelegate onSome;//委托
//事件的标准写法
public event 委托类型 名称
public event SomeDelegate _OnSome
{
add {onSome+=value;}
remove{onSome-=value;}
}
也可以简写,编译器(JIT),会自动帮你声明一个私有的委托,再为事件增加两个方法(Add,remove)
public event SomeDelegate _OnSome
{}
匿名函数
SomeDelegate f=delegate(string s){return "";}
lambda表达式
3.扩展方法,让string类有扩展方法,第一个方法要加this 中参数
1.static class StringHelper{
static string TOHZ(this string s)
return "";
}
4.LINQ
var i1=6;根据右边来推断类型
int[] values={1,23,-22,29,987,78};
var e1=values.Where(i=>i>0).orderby(i=>i).select(i=>"["+i+"]");
//这样写就可以了
var e2=from i in values
where i>0
orderby i
select "["+i+"]";
5.正则表达式
1.程序集
打包的类,
类的访问级别:public 公共的 private 私有的 protected 子类访问 internal(默认)
自己写程序集:新建类库---》生成(bin/Debug/dll文件)添加引用
程序集不能A-->B B--->A 不能相互引用(单向引用)
exe,dll都是程序集,exe有Main入口
GAC(全局程序集)
2.委托与事件
public delegate void SomeDelegate();
声明一个委托类型的写法: delegate 返回值类型 类型名称(参数)
public delegate string SomeDelegate(string s);
SomeDelegate s1=new SomeDelegate(FKH);//指向FKH方法,也可简写
SomeDelegate s2=FKH;
s1("IS this you handbag");调用
static string FKH(string s)
{
return "["+s+"]";
}
委托与事件的区别:委托是一种类型,事件是对象,没有可比性,事件内部是用委托来实现的。事件就类似于属性一样的.内部有一个add.remove 方法,让委托只能用+=来注册-=来取消.防止外面调用=null来取消了事件.
private SomeDelegate onSome;//委托
//事件的标准写法
public event 委托类型 名称
public event SomeDelegate _OnSome
{
add {onSome+=value;}
remove{onSome-=value;}
}
也可以简写,编译器(JIT),会自动帮你声明一个私有的委托,再为事件增加两个方法(Add,remove)
public event SomeDelegate _OnSome
{}
匿名函数
SomeDelegate f=delegate(string s){return "";}
lambda表达式
3.扩展方法,让string类有扩展方法,第一个方法要加this 中参数
1.static class StringHelper{
static string TOHZ(this string s)
return "";
}
4.LINQ
var i1=6;根据右边来推断类型
int[] values={1,23,-22,29,987,78};
var e1=values.Where(i=>i>0).orderby(i=>i).select(i=>"["+i+"]");
//这样写就可以了
var e2=from i in values
where i>0
orderby i
select "["+i+"]";
5.正则表达式
- C#高级编程学习1----总结
- C#高级编程 学习总结
- C#高级编程学习笔记(1)
- C#高级编程 学习笔记
- C#高级编程技术知识点总结
- C#高级编程技术知识点总结
- C#高级编程学习笔记--------构造函数(1)
- [学习笔记]C#高级编程(1、2章)
- C# 高级编程读书笔记1
- c#高级编程读书笔记1
- C#高级编程学习笔记--------构造函数
- C#高级编程第四版学习笔记
- C#高级编程学习笔记(LINQ)
- C#高级编程学习笔记(委托)
- 《C#高级编程》【第二章】核心C#编程 -- 学习笔记
- 《UNIX环境高级编程》学习总结
- UNIX环境高级编程学习总结
- C#高级编程学习笔记(一)---C#核心
- ADO_Net学习笔记---总结
- mysql 乱码解决办法---创建数据库时指定字符集
- C#基础学习4----总结
- PowerDesigner(CDM—PDM—SQL脚本的转换流程) 随笔
- 一些小心得
- C#高级编程学习1----总结
- 黑马程序员_ADO.NET数据库连接
- java设计模式--Builder设计模式
- Java中深度剖析Http协议
- LCD 驱动的整体分析 ,含设备理解
- SCU 4120 G: Guess The Earliest Time
- STM32水温控制系统硬件详解
- Windows上模拟Linux环境的软件Cygwin
- java IO之对象的序列化和反序列化