-3

在我的方法中,我预计会返回一个 IEnumerable,但我在其中创建了一个列表,因此我可以向其中添加结果,我想将添加的项目作为 ienumerable 返回创建的列表,但无法将列表返回为 ienumerable。我试图创建一个 ienumerable,以便我可以向其中添加项目,但它不允许我添加。

这是我的方法:

public IEnumerable<IGrouping<string,User>> GetUser(int? id, int? pageNumber)
        {
            int _pageNum = pageNumber.HasValue ? pageNumber.Value : 1;
            var userIndex = new UserService().GetUsers(id.Value, pageNumber: _pageNum).GroupBy(x => x.Name.Substring(0, 1));
            var userList = new List<User>();
            foreach (var group in userIndex)
            {
                string curLetter = group.Key;
                foreach (User user in group)
                {
                    userList.Add(user);
                }
            }
            return userList.AsEnumerable();
        }
4

2 回答 2

0

据我了解:

public IEnumerable<IGrouping<string,User>> GetUser(int? id, int? pageNumber)
    {
        int _pageNum = pageNumber.HasValue ? pageNumber.Value : 1;
        return new UserService().GetUsers(id.Value, pageNumber: _pageNum).OrderBy(x => x.Name.Substring(0, 1));
    }

也许我不明白你的问题。

@Servy 指出了问题,为什么不只是

public IEnumerable<IGrouping<string, User>> GetUser(int? id, int? pageNumber)
{
    int _pageNum = pageNumber.HasValue ? pageNumber.Value : 1;
    return new UserService().GetUsers(id.Value, pageNumber: _pageNum).GroupBy(x => x.Name.Substring(0, 1));
}
于 2013-09-10T16:55:23.247 回答
-2

使用 ActionResult 作为您的 Action 的返回类型并更改返回 userList;返回 userList.tolist();

于 2013-09-10T16:53:45.407 回答