C# 如何将变量列表传递给另一个winform

C# 如何将变量列表传递给另一个winform,c#,winforms,C#,Winforms,假设我有这个代码。如何将smallGroups传递到UpdatePlayer表单。我需要能够将生成的数据带到var列表中,并在UpdatePlayer中使用它来填充combobox public class GroupsPlayers { public string GroupID; public string GroupName; } public void Groups() { var smallGroups = new List<GroupsPlayers&

假设我有这个代码。如何将
smallGroups
传递到
UpdatePlayer
表单。我需要能够将生成的数据带到var列表中,并在
UpdatePlayer
中使用它来填充
combobox

public class GroupsPlayers
{
    public string GroupID;
    public string GroupName;
}

public void Groups() {
    var smallGroups = new List<GroupsPlayers>();


    while(rd.Read())
    {
        var currentPlayer = new GroupsPlayers() {

        };

        smallGroups.Add(currentPlayer);
    }


    MessageBoxResult userResponse = MessageBox.Show(msgBoxMsg, "Groups Manager", MessageBoxButtons.YesNo);

    if(userResponse == DialogResult.Yes)
    {
        UpdatePlayer frmPlayers = new UpdatePlayer(this, smallGroups);
    }
}
public类GroupsPlayers
{
公共字符串GroupID;
公共字符串组名;
}
公共组(){
var smallGroups=新列表();
while(rd.Read())
{
var currentPlayer=newgroupsplayers(){
};
添加(currentPlayer);
}
MessageBoxResult userResponse=MessageBox.Show(msgBoxMsg,“组管理器”,MessageBoxButtons.YesNo);
if(userResponse==DialogResult.Yes)
{
UpdatePlayer frmlayers=新的UpdatePlayer(这是小型组);
}
}

如果GroupsPlayers类型在您的第二个表单中是可访问的(您已将其公开),则只需通过适当的构造函数传递此集合即可。检查我下面的代码,我认为它足够简单。如果您有任何问题,请在评论中提问

在第二种形式中,创建构造函数:

public class UpdatePlayer : Form
{
    List<GroupsPlayers> _GroupPlayers;
    UpdatePlayer (List<GroupsPlayers> GroupPlayers)
    {
        _GroupPlayers = GroupPlayers; // here You are "Catching" the value You have passed in first form and assigning it to _GroupPlayers property
    }
}

关于“var”,需要知道的重要一点是,它不是一种变量类型。它的类型是在编译时静态确定的

var smallGroups = new List<GroupsPlayers>();
var smallGroups=new List();

List<GroupsPlayers> smallGroups = new List<GroupsPlayers>();
List smallGroups=new List();

这意味着您的UpdatePlayer表单必须将其列表或子类作为其构造函数中的参数。例如,它可以使用IList“var”只是用来保存用于删除的输入,或者使重构更干净。

上面的代码有什么问题?UpdatePlayer中是否没有用于存储小型组的属性?然后在加载期间将该属性设置为组合框的数据源?
List<GroupsPlayers> smallGroups = new List<GroupsPlayers>();