private static IEnumerable<Users> GetPageBase(int pageStart, int pageLimit, string name)
        {
            var result = GetAll();
            if (!String.IsNullOrEmpty(name))
                result.Where(x => x.Username.IndexOf(name) >= 0);
            return result.Skip((pageStart - 1) * pageLimit).Take(pageLimit);
        }GetAll()是从数据库中查出表的所有.是一个IList<T>类型
result.Where(x => x.Username.IndexOf(name) >= 0)这句,完全没起作用,不管name是什么,这个方法返回的都是表的所有..难道我哪里写错了?看了半天没看出来...

解决方案 »

  1.   

    Where不改变result,是返回一个新的IEnumerable<T>
    下一步的Take和Skip应该从新返回的IEnumerable<T>上调用
      

  2.   

    var query = result.Where(...)
      

  3.   

    麻烦请教一个问题 字符"0.2123" 怎么就变成 float型数值0.2123
     float t = float.Parse("0.2123");
    这样t就变成2123了
     
      

  4.   

    IList list = result.Where(x => x.Username.IndexOf(name) >= 0).ToList();
      

  5.   

    result.Where(x => x.Username.IndexOf(name) >= 0);只是操作result,并没有改变result的值;
    改为 
    result = result.Where(x => x.Username.IndexOf(name) >= 0);
      

  6.   

    result.Where(x => x.Username.IndexOf(name) >= 0);
    =>
    result = result.Where(x => x.Username.IndexOf(name) >= 0).ToList();