gpt4 book ai didi

C# 从对象列表中删除对象

转载 作者:IT王子 更新时间:2023-10-29 04:45:16 27 4
gpt4 key购买 nike

我有一个对象列表,我试图通过首先检查对象中的属性来删除列表中的特定对象。

最初我使用了 foreach 但后来意识到在修改集合时不能使用它,所以我决定使用普通的 for 但后来我没有确定如何编写能够实现我最初编写的功能的代码。

我如何着手编写代码来完成我最初拥有的功能?

谢谢

这是我的代码:

    public void DeleteChunk(int ChunkID)
{
//foreach (Chunk i in ChunkList)
//{
// if (i.UniqueID == ChunkID)
// {
// ChunkList.Remove(i);
// }
//}

//This won't work because here i is just an integer so i.UniqueID won't exist.
for (int i = 0; i < ChunkList.Capacity; i++)
{
if (i.UniqueID == ChunkID)
{
ChunkList.Remove(i);
}
}

}

最佳答案

你可以用 linq 来简化这个:

var item = ChunkList.SingleOrDefault(x => x.UniqueId == ChunkID);
if (item != null)
ChunkList.Remove(item);

您还可以执行以下操作,如果有多个匹配项,这也有效:

ChunkList.RemoveAll(x => x.UniqueId == ChunkID);

关于C# 从对象列表中删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18917725/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com