C#高级篇
李杰林
这个作者很懒,什么都没留下…
展开
-
事件和观察者模式
事件 事件是对象用于(向系统中的所有相关组件)广播已发生事情的一种方式。 任何其他组件都可以订阅事件,并在事件引发时得到通知。 类 或对象可以通过事件向其他类或对象通知发生的相关事情。 发送(或引发)事件的类称为“发布者”,接收(或处理)事件的类称为“订阅者”。 简单来总结就是发布与订阅。 在声明一个委托类型前面添加event关键字就是事件。 public delegate void MyDelegate();//这是定义委托 public MyDelegate mydelegate;//声明一个委托类原创 2020-09-23 23:20:49 · 546 阅读 · 0 评论 -
匿名方法和Lambda表达式
匿名方法 本质上就是一个方法,只是没有名字,任何可以使用委托变量的地方都可以使用匿名方法赋值。 Func<int, int, int> plus = delegate(int arg1,int arg2) { //等号“=”后面跟的就是匿名方法 eturn arg1 + arg2; }; lambda表达式 lambda表达式用来代替匿名方法。所以lambda表达式也是一个方法 lambda表达式的参数不需要声明类型 Func<int,int,int> plus = (ar原创 2020-09-22 23:02:39 · 141 阅读 · 0 评论 -
冒泡排序拓展
class Program { static void CommonSort<T>(T[]sortArray ,Func<T,T,bool> employeeCompare) { bool swapped = true; do { swapped = false; for (int i = 0;原创 2020-09-22 22:37:35 · 144 阅读 · 0 评论 -
C#委托
定义委托 使用关键字delegate,委托是没有函数体的 public delegate string GetString(); 使用委托类型创建实例 一般使用第二种创建实例的写法 int x = 10; string y = x.ToString();//把x转换成string字符换 //使用委托类型,创建实例 GetString a = new GetString(x.ToString);//a指向了x中的Tostring方法 GetString a = x.ToString;//这是另外一种原创 2020-09-22 08:46:25 · 100 阅读 · 0 评论 -
StringBuilder
StringBuilder表示可变字符串类, 尽管 StringBuilder 和 String 都表示字符序列,但它们的实现方式不同。 String 是不可变类型。 也就是说,出现的用于修改对象的每个操作 String 实际上都会创建一个新的字符串。 很多详细需要查找C#文档 创建字符串 StringBuilder sb = new StringBuilder("www.xxx", 20); 第一个参数表示字符串内容,第二个参数表示容量 Append 在字符串末尾添加字符 sb.Append('e')原创 2020-09-21 22:36:58 · 54 阅读 · 0 评论 -
C# 字符串
字符串 字符串常见的创建、获取长度、进行比较、字符串连接,还能通过类似索引器语法获取字符串的某个字符。 string str = "hahacwe";//创建字符串 int length = str.length;//获取字符串长度 if (str == "xxx")//比较字符串是否相等 { console.writeline("相同"); }原创 2020-09-21 22:19:50 · 100 阅读 · 0 评论