2013-05-20 30 views
1
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); 
} 
+0

可能重複:http://stackoverflow.com/questions/1301316/c-sharp-equivalent-of-python-slice-operation – ean5533

回答

6
IEnumerable<TSource>.Skip(lowerBound).Take(upperBound-lowerBound) 

MSDN文檔SkipTake

0
for(int i = lowerBound; i <= upperBound; ++i) 
{ 
    string elemt = take(i); 
} 
3

嘗試:

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

使用名單的GetRange方法

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

使用LINQ

對於下界之間的項目和UPPERBOUND

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

或者,如果你有分頁使用

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

感謝這麼多... – vini