【问题标题】:How can I select items from a list lower bound to upper bound?如何从列表下限到上限中选择项目?
【发布时间】:2013-05-20 15:54:12
【问题描述】:
 lowerbound = (CurrentPage - 1) * 10;
 upperbound = (CurrentPage * 10) -1;

我有一个上限和下限两个整数,指定必须访问列表中哪些元素之间的最低和最高元素

List<string> take = list.Take(upperbound).ToList();

如何从列表的下限到上限选择项目?

foreach (string elemt in take)
{
    HtmlGenericControl div = new HtmlGenericControl("div");
    div.ID = "div" + elemt;

    Label text = new Label();
    text.Text = elemt;
    div.Controls.Add(text);
    divtest.Controls.Add(div);
}

【问题讨论】:

标签: c# asp.net list


【解决方案1】:
IEnumerable<TSource>.Skip(lowerBound).Take(upperBound-lowerBound)

Skip 和 Take 的 MSDN 文档。

【讨论】:

    【解决方案2】:

    使用List的GetRange方法

     take.GetRange(lowerbound, upperbound - lowerbound + 1);
    

    【讨论】:

      【解决方案3】:

      试试:

      list.Skip(lowerBound).Take(upperbound - lowerbound);
      

      【讨论】:

        【解决方案4】:

        使用 LINQ

        对于下界和上界之间的项目

        list.Skip(lowerbound).Take(upperbound - lowerbound);
        

        或者如果你有分页使用

        list.Skip((PageNumber - 1) * PageSize).Take(PageSize);
        

        【讨论】:

          【解决方案5】:
          for(int i = lowerBound; i <= upperBound; ++i)
          {
             string elemt = take(i);
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-01-18
            • 1970-01-01
            • 2015-03-12
            • 1970-01-01
            • 2017-09-23
            相关资源
            最近更新 更多