Pra*_*nav 33 c# list arraylist
我在c#中有一个List,我在其中添加列表字段.现在添加i时必须检查条件,如果条件满足,那么我需要删除列表中添加的最后一行.这是我的示例代码..
List<> rows = new List<>();
foreach (User user in users)
{
try
{
Row row = new Row();
row.cell = new string[11];
row.cell[1] = user."";
row.cell[0] = user."";
row.cell[2] = user."";
rows.Add(row);
if (row.cell[0].Equals("Something"))
{
//here i have to write code to remove last row from the list
//row means all the last three fields
}
}
Run Code Online (Sandbox Code Playgroud)
所以我的问题是如何从c#中的列表中删除最后一行.请帮我.
Pat*_*man 82
我认为最有效的方法是使用RemoveAt
:
rows.RemoveAt(rows.Count - 1)
Run Code Online (Sandbox Code Playgroud)
spe*_*der 36
现在看到这个问题在搜索引擎中表现得很好,这个问题的直接答案是:
if(rows.Any()) //prevent IndexOutOfRangeException for empty list
{
rows.RemoveAt(rows.Count - 1);
}
Run Code Online (Sandbox Code Playgroud)
但是......在这个问题的具体情况下,首先不添加行更有意义:
Row row = new Row();
//...
if (!row.cell[0].Equals("Something"))
{
rows.Add(row);
}
Run Code Online (Sandbox Code Playgroud)
TBH,我会更进一步通过测试"Something"
对user.""
,甚至不是一个实例Row
,除非满足该条件,但看到user.""
将无法编译,我会离开,作为一个练习留给读者.
小智 11
rows.RemoveAt(rows.Count - 1);
Run Code Online (Sandbox Code Playgroud)