【问题标题】:how to get the top 30 items in a list [duplicate]如何获取列表中的前 30 个项目 [重复]
【发布时间】:2013-08-07 06:27:14
【问题描述】:

如何在 C# 中获取列表中的前 30 项并将其添加到新列表中?

我有一个大约 1000 个项目的列表,并且想要创建新列表,每个列表大约 30 个项目,然后以某种方式将列表绑定到列表框

【问题讨论】:

    标签: c# list


    【解决方案1】:

    使用LINQTake()方法:

    var top30list = source.Take(30).ToList();
    

    在文件顶部添加using System.Linq 以使其正常工作。

    【讨论】:

      【解决方案2】:

      每个人都在说 linq,所以我将展示没有 linq 的示例:

      List<object> newList = new List<object>();
      
      for(int i=0 ; i < 30 ; i++)
          newList.Add(oldList[i]);
      

      【讨论】:

        【解决方案3】:

        使用 Take(30)

        public List<string> ReturnList(List<string> mylist,int page)
        {
            return mylist.Skip(30 * (page - 1)).Take(30)
        }
        

        【讨论】:

        • 有用的隐含要求是获得前 30 个,然后是接下来的 30 个,依此类推。在这种情况下,list.Skip() 是必需的信息。
        【解决方案4】:
        newList.AddRange(list.Take(30));
        

        【讨论】:

          【解决方案5】:

          使用orderby和后面的列名作为.Take(30)将从列表中选择30个项目。

          【讨论】:

            猜你喜欢
            • 2015-06-25
            • 1970-01-01
            • 2015-05-12
            • 1970-01-01
            • 2017-07-15
            • 2020-07-14
            • 2018-07-25
            • 2016-04-21
            • 1970-01-01
            相关资源
            最近更新 更多