如何传递Listc#中的构造函数

本文关键字:构造函数 string 何传递 List | 更新日期: 2023-09-27 18:13:12

如何将List传递给构造函数

我想这样做

 private void button1_Click(object sender, EventArgs e)
    {
        step2 st2 = new step2(list);
    }    

但是在构造函数定义中该怎么写

 public step2()
    {
        InitializeComponent();
    }

欢迎提出任何建议

如何传递List<string>c#中的构造函数

您需要在构造函数中定义一个参数。例如,

 public step2(List<Type> list) 
 {
 }

其中Type是您的列表类型,即List<string>

就是这么简单

public step2(List<string> list)
{
    InitializeComponent();
}

我强烈推荐你读一本关于c#基础知识的书

您需要为step2类型提供一个接受List<T>的构造函数

public step2()
{
    InitializeComponent();
}
应:

public step2(List<T> list)
{
    //Do something with list
    InitializeComponent();
}

构造函数c#编程指南

基本上:

public step2(List<Type> list) {
}

但是最好的做法是设置IList作为参数类型。

public step2(IList<Type> list) {
}

需要将List或List继承的任何类/接口传递给构造函数。例如,IList也可以。

public step2(List<T> list){ }

public step2(IList<T> list){ }

T是Type

你甚至可以这样写:

public step2(List<T> list){}

将函数用作所有List项的泛型函数:)

这应该是你的类构造函数来容纳List:

public step2(List<T> list)
{
    InitializeComponent();
}

你可以这样调用这个类:

List<string> myList = new List<string>();  // You can choose your own data type.
step2 obj = new step2(myList); 
public class A
    {
    List<string> listParam1 = new List<string>();
    public A(List<string> ListParam)
    {
        listParam1 = ListParam;
    }
}

这就是参数化构造函数的样子。

你可以这样初始化它:

    List<string> param = new List<string>();
    param.Add("One");
    param.Add("Two");
    A obj = new A(param);

如果有帮助请告诉我。

答案可能取决于step2从哪个类继承或者如何使用它。换句话说,如果你的类step2需要一个默认构造函数,你应该而不是替换构造函数,而是添加另一个:

public step2()
{
    InitializeComponent();
}
public step2(IList<String> stringList) : this()
{
    // do something with stringList
}