簡體   English   中英

從列表中刪除n行

[英]Remove n number of rows from a list

如何從列表中刪除最后兩行。

目前,我正在手動刪除兩行,如下所示。 但是,在某些情況下,我必須將要刪除的行數定義為n 因此,它將從列表底部刪除n行。 我該如何進行更改?

rows.RemoveAt(rows.Count - 1);
rows.RemoveAt(rows.Count - 2);

您可以使用RemoveRange

rows.RemoveRange(rows.Count - n, n);

您可以使用LINQ:

rows = rows.Take(rows.Count - n).ToList();

正如Spender所說,您的代碼中存在潛在的問題。 我稱之為“索引競態條件”。 刪除最后一個元素后,其他東西將成為新的最后一個元素。 使用索引集合時必須注意這一點。 鍵控集合不受此影響。

除了其他人所說的關於使用“ RemoveRange”(如果有)或LINQ的內容外,您還有可能得到了錯誤的集合類型。

Queue [T]Stack [T]分別是專門用於先進先出和后進先出的特殊集合。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM