C#:添加到SomeClass类型的列表

时间:2013-01-16 15:18:41

标签: c# list

我有这堂课:

public class Lockbox
{
    string lockbox { get; set; }
    int polling_interval { get; set; }
}

在另一个课程中,我制作了一个类型锁箱列表:

var monitor_lockboxes = new List<Lockbox>();

现在如何在列表中添加条目?我可以这样做吗?:

monitor_lockboxes.Add(...);

但它不需要2个参数。

2 个答案:

答案 0 :(得分:5)

  

但它不需要2个参数。

唔不,它不会。它需要一个参数,类型为Lockbox

听起来你想要这样的东西:

var newBox = new Lockbox { lockbox = "foo", polling_interval = 10 };
monitor_lockboxes.Add(newBox);

你可以在一个声明中做到这一点,当然 - 为了清楚起见,我只是将它分开了。

(我还强烈建议您将您的命名更改为.NET conventions。)

答案 1 :(得分:1)

以下方法可行:

monitor_lockboxes.Add(new Lockbox { lockbox = "Foo", polling_interval = 42 } );

这使用Object Initializer语法。为此,Lockbox上的属性必须为public

另一种方法是为Lockbox提供一个带有属性值的构造函数:

public class Lockbox
{
    public Lockbox(string lockbox, int pollingInterval)
    {
        this.lockbox = lockbox;
        this.polling_interval = pollingInterval;
    }

    public string lockbox { get; set; }
    public int polling_interval { get; set; }
}

现在您可以像这样使用它:

monitor_lockboxes.Add(new Lockbox("Foo", 42));