【问题标题】:C# How to store instances of a class in a listC#如何将类的实例存储在列表中
【发布时间】:2017-04-04 03:46:04
【问题描述】:

删除不再相关的问题!

【问题讨论】:

  • 这是个坏主意。例如,它会泄漏内存。
  • 您为什么要在 User 类中存储用户列表?
  • 我认为在 User 类中声明静态列表会更简洁,这样它就可以像 User.Users 一样访问。请让我知道什么是更好的主意,另外,一旦构造函数创建了实例,我如何将用户添加到列表中(无论列表是否在 User 类中)。
  • @YasharGharabaghian 除了我之前的评论,如果列表是私有的,你如何从外部访问它?顺便说一句,我相信您发布的代码按预期工作。
  • @SLaks 你能解释一下为什么它会泄漏内存吗?列表不会在某个时候收集垃圾吗?

标签: c# list class constructor instance


【解决方案1】:

我建议使用标准方式来保存已创建用户的引用。

public class User
{
    private string _name;

    public User(string Name)
    {
        _name = Name;
    }
}

var users = new List<User>();
users.Add(new User("foo"));
users.Add(new User("bar"));

Console.Writeline(users.Count); // this will say 2!
// you can now use your list of users.

【讨论】:

  • 谢谢。我会试试这个。
猜你喜欢
  • 2015-01-28
  • 2011-05-22
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
  • 2022-01-13
  • 1970-01-01
  • 2023-03-22
  • 2016-04-14
相关资源
最近更新 更多