gpt4 book ai didi

c# - 在自定义 HashSet 上移除

转载 作者:行者123 更新时间:2023-11-30 20:46:22 27 4
gpt4 key购买 nike

我有一个类如下:

public class User
{
public int ID { get; set; }
public int PPN { get; set; }

public User(int id, int ppn)
{
ID = id;
PPN = ppn;
}
}

其中我声明了一个 HashSet 类型。

HashSet<User> users = new HashSet<User>();

现在,我想用以下方法删除第 5 个条目:

    public void Delete() {
users.Remove(5);
}

但是我得到以下错误:

cannot convert from 'int' to 'User' 

有人知道问题是什么以及我该如何解决吗?

最佳答案

HashSet 不是列表或数组,它没有索引器,您不能通过索引访问项目。原因是不能保证顺序(如果您从不删除任何项目,它将保留当前实现中的插入顺序)。如果这无关紧要,您可以使用 ElementAtOrDefault :

User fifth = users.ElementAtOrDefault(4);
if (fifth != null) users.Remove(fifth);

关于c# - 在自定义 HashSet 上移除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27105464/

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