IList<T>如何转成List<T> IList<T>仅仅是所有泛型类型的接口,并没有太多方法可以用,如果仅仅是作为集合数据的承载体,那么IList<T>可以胜任。但是更多的时候,我们要对集合数据进行处理,从中筛选数据或者排序。这个时候IList<T>就爱莫能助了。 用过NHibernate和MyBatis.Net的人知道,查询数据库返回的结果集经常是IList<T>类型的,如何才能转成List<T>呢? [解决办法] IList<int> s=... var b= s as List<int> ?? new List<int>(s); [解决办法]
public List<T> IListToList<T>(IList<T> list) { T [] array = new T[list.Count]; list.CopyTo(array,0); return new List<T>(array); }
[解决办法]
脱裤子放屁,典型的。使用C#在没有特殊需求的情况下重复造轮子的行为是可耻的。
首先 public interface IList<T> : ICollection<T>, IEnumerable<T>, IEnumerable 而IEnumerable<T>有扩展方法,可以直接用 public static List<TSource> ToList<TSource>(this IEnumerable<TSource> source); 而且List<T>有如下构造函数 public List(IEnumerable<T> collection);