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)
我正在尝试向列表中添加一些值
我面临这样的错误
预期类型
元组必须至少包含两个元素
我如何将一些元素添加到列表中
您需要先构造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")您传递两个参数 - 类型为int和string,而该方法Add只接受一个:List<Role>.Add(Role item)。在这种情况下,您应该会收到编译器错误CS1501 No overload for method 'Add' takes 2 arguments。
要构造Role对象,您必须使用 new 关键字并根据需要提供构造函数参数:new Role(1, "Software Engineer")。