如何在包含对象的列表中添加元素

Sai*_*ran 0 .net c# c#-4.0

public class Role
{
    public string RoleName { get; set; }
    public int RoleId { get; set; }

    public Role(int roleid, string roleName)
    {
        RoleName = roleName;
        RoleId = roleid;
    }
}

public class RoleManagement
{

    public List<Role> RoleList = new List<Role>();
    RoleList.Add(1, "Software Engineer");
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试向列表中添加一些值

我面临这样的错误

  1. 预期类型

  2. 元组必须至少包含两个元素

我如何将一些元素添加到列表中

Mak*_*aku 5

您需要先构造Role对象,不能直接将构造函数参数添加到列表中:

RoleList.Add(new Role(1, "Software Engineer"));
Run Code Online (Sandbox Code Playgroud)

编辑:

RoleList是类型 的对象List<Role>,换句话说,它是List类型 的对象的一个Role​​。该Add方法需要一个参数,该参数应该具有类型Role(或派生类型)。调用时,RoleList.Add(1, "Software Engineer")您传递两个参数 - 类型为intstring,而该方法Add只接受一个:List<Role>.Add(Role item)。在这种情况下,您应该会收到编译器错误CS1501 No overload for method 'Add' takes 2 arguments

要构造Role对象,您必须使用 new 关键字并根据需要提供构造函数参数:new Role(1, "Software Engineer")