在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
其实C#的高级特性,我觉得不能叫做高级特性 我觉得吧,C#的基本语法如果是必须要掌握的话 那么这个所谓的高级特性其实也就是所谓的 C#这门语言的特色之处,它和其他语言的区别所在的地方 不能叫做高级特性,按照我的想法,这个才应该算是真正的C#语言 之前的那些只能是编程基础而已 一开始就被这个“高级特性”这四个字吓到了,以至于我跳过这个所谓的高级特性往下看 然后鼓起勇气看这个“高级特性”的时候,才发现,根本也不高级到哪里去嘛
C#语言有四个精髓之处,其实也就三个,再化简下来,其实也就两个 1.泛型 2.泛型集合 3.委托 4.事件
泛型 说来也简单,其实也就是 模板 例子: 求数在数组中的位置 (泛型版本)
static void Main() { int[] nums = { 12, 21, 31, 90, 102 }; int i = index(nums,90); string[] words = { "sg","vnd"}; i = index(words , "sg"); } static int index<T> (T[] a ,T value ) { for(int i = 0; i < a.lenght ; i++) { if (a[i].Equals(value)) return i; } return -1; }
可以看出,泛型其实也就是模板在C # 中的叫法而已,实现的时候只需要加一个 <T> 就可以使用泛型了 这个比之前在C/C++版本中,方便了不少
泛型集合,所谓集合其实就是相同类型的一组泛型,其实也可以叫做容器,因为它的英文是collection 泛型集合的目的就是对一组相同类型的对象进行存储并操作
泛型列表 —— List <T> 可增长的动态模板数组 ,通过泛型列表来添加对象 在泛型列表中,其实也可以叫做泛型类表,这个List <T>其实就是一个类
这里类里, 属性: Capacity : 设置当前最大容量 Count : 当前列表中元素个数 方法: public void Add(T item); 添加列表元素到列表末尾 public void Sort(); 排序 public int IndexOf(T item);插入 public bool Remove(T item);删除
方法还有重载的不同版本 下面是从cen123搜罗来的代码,我觉得他说得很好,要是想进一步了解的话,我觉得不防去看看他那篇文章
-----------------------------分割线----------------------------------- 怎样创建泛型集合? -----------------------------------------------------------------------
下面来讲一讲委托 ,委托是一个类型,它用来封装方法 目的是,实现把方法作为一个参数来传递 委托是从system.Delegate类派生的类 //声明委托: 和声明方法类似,但是多一个delegate关键字 如: 在class Program外层定义委托 在program内部写出与Main()并排的函数
static double add(double a, double b) return a + b; static void printLine()
在Main函数中使用委托
//注意:委托传递的是ta的名称,而不是ta的调用,千万不能加括号 //委托里面放的是方法的地址,调用委托就是依次调用委托中方法的地址 di();//调用委托,相当于 printStar di += printLine; di();//调用委托,相当于 printStar, printLine double a = 0.2; r = d2(a,b); //委托 调用 含有参数的方法 其实委托的作用就是,更方便的调用方法,或者说是依次调用方法,或者是,把同一个方法调用多次 但是,据说委托的真正意义不仅仅是这样,而是配合着事件来使用的。 那么,下面就介绍什么是事件 事件是在委托的基础上,记住,是在委托的基础上 事件具有不确定性发生的函数 例如: 按钮有一个单击的事件,什么时候发生这个事件软件不知道,但是,事件发生了之后软件就依次执行事件里面的方法 //声明事件的语法 public event 委托类型 事件名称;
/* delegate void WeightChange(double newWeight); class woman private double w; //定义了两个事件,分别在当人的体重变轻和变重的时候出发这个事件 } }
}
//定义函数
static void girl_getThinner(double newWeight)
//主函数
woman girl = new woman(); for (int i = 0; i < 5; i++ )
大致就是这么多了,今天累了,就这样吧。 第一次学,不好的地方,请指正! |
请发表评论