刘昕鑫个人官方网站

2011年12月16日

IEnumerable<T>、IEnumerable、ICollection<T>、IList<T>、ObservableCollectin<T>和Collection<T>关系

摘要: 1.如果你返回的集合是只用于遍历,不可修改的,则返回IEnumerable<T>2.如果返回的集合需要修改,如添加和删除元素,用ICollection<T>3.如果返回的集合需要支持排序,索引等,用IList<T>4.如果返回的集合要支持索引,但不能添加,删除元素,用ReadOnlyCollection<T>ICollection主要针对静态集合;IList主要针对动态集合IEnumerable<T>继承自IEnumerableICollection<T>继承自IEnumerable<T>IList<T& 阅读全文

posted @ 2011-12-16 12:41 刘昕鑫 阅读(580) 评论(0) 推荐(0) 编辑

2011年11月28日

C# 特性详解

摘要: C# 特性详解 特性(attribute)是被指定给某一声明的一则附加的声明性信息。 在C#中,有一个小的预定义特性集合。在学习如何建立我们自己的定制特性(custom attributes)之前,我们先来看看在我们的代码中如何使用预定义特性。 1 using System; 2 public class AnyClass 3 { 4 [Obsolete("Don't use Old method, use New method", true)] 5 static void Old( ) { } 6 static void New( ) { } 7 ... 阅读全文

posted @ 2011-11-28 00:08 刘昕鑫 阅读(43783) 评论(11) 推荐(19) 编辑

2011年11月12日

C#中的泛型

摘要: 在C#2.0中,微软引入了泛型(generic)特性,它提供了一种更准确地使用有一种以上的类型的代码的方式。泛型允许我们声明类型参数化的代码,我们可以用不同的类型进行实例化。也就是说,我们可以用“类型占位符”来写代码,然后在创建类的实例时提供真实的类型。例: 1 class MyStack<T> 2 3 { 4 5 int StackPointer = 0; 6 7 T[] StackArray; 8 9 public void Push(T x){...}10 11 public T Pop(){...}12 13 ...14 15 } 阅读全文

posted @ 2011-11-12 22:42 刘昕鑫 阅读(404) 评论(0) 推荐(0) 编辑

导航