c# – 为什么IList <>具有比List <>更少的功能?
发布时间:2020-12-15 06:51:22 所属栏目:百科 来源:网络整理
导读:要使用ConvertAll()这么大的功能,我必须将IList转换为List,这很痛苦. 解决方法 请注意,List是IList的实现具有实际存储,即它在后台保存阵列.通常,IList可以代替别的东西.在db4o和 linq到sql中,您的IList可以指向查询,即访问列表将触发数据库操作. 这样,你可以
要使用ConvertAll()这么大的功能,我必须将IList转换为List,这很痛苦.
解决方法
请注意,List<>是IList<>的实现具有实际存储,即它在后台保存阵列.通常,IList<可以代替别的东西.在db4o和
linq到sql中,您的IList&可以指向查询,即访问列表将触发数据库操作.
这样,你可以执行myList.Skip(600).Take(20);执行分页,只有在这一步才能执行实际的查询.列表<>包含一百万条记录将是巨大的,而可能有IList有一个巨大的计数,但不要吃大量的内存 – 只要你不访问元素. ConvertAll将要求每个对象都被实例化,因此这是一项昂贵的操作.因此,最好使操作显式,并强制您检索接口的特定实现.显然,转换要求所有的对象都被实例化,所以没有任何好处在懒惰地做. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |