首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

IList<T>怎么转成List<T>

2013-02-17 
IListT如何转成ListTIListT仅仅是所有泛型类型的接口,并没有太多方法可以用,如果仅仅是作为集合数据

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# code?12345public 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);

[解决办法]

List<T> list=(List<T>)ilist;


[解决办法]
不好意思
2、new List<T>(IList<T>)

热点排行