日期:2014-05-17  浏览次数:20390 次

IEnumerable
问题:
1.db.ExecuteQuery<Comment>(StrSql) 不就是 IEnumerable<Comment> 了吗? 怎么前边还要强制转换?
2.构造函数需要 IEnumerable<T> items 类型, 为什么下边还要ToList: ((IEnumerable<Comment>)db.ExecuteQuery<Comment>(StrSql) ).ToList(),

C# code

var comments=new PagedList<Comment>(  ((IEnumerable<Comment>)db.ExecuteQuery<Comment>(StrSql) ).ToList(),pageIndex,pageSize,totalCount)





C# code

    public class PagedList<T> : List<T>,IPagedList
    {
        public PagedList(IEnumerable<T> items, int pageIndex, int pageSize, int totalItemCount)
        {
            AddRange(items);
            TotalItemCount = totalItemCount;
            CurrentPageIndex = pageIndex;
            PageSize = pageSize;
        }

        public int CurrentPageIndex { get; set; }
        public int PageSize { get; set; }
        public int TotalItemCount { get; set; }
        public int TotalPageCount { get { return (int)Math.Ceiling(TotalItemCount / (double)PageSize); } }
        public int StartRecordIndex { get { return (CurrentPageIndex - 1) * PageSize + 1; } }
        public int EndRecordIndex { get { return TotalItemCount > CurrentPageIndex * PageSize ? CurrentPageIndex * PageSize : TotalItemCount; } }
    }










------解决方案--------------------
这个为什么你要去问写这代码的人。。。。。。。
------解决方案--------------------
http://social.msdn.microsoft.com/Forums/zh-CN/adonetzhchs/thread/fe2c3be4-a7eb-40e0-9af9-28ec5055419f

这里有一个类似的 IEnumerable用法。