【发布时间】:2023-03-31 20:53:01
【问题描述】:
我有以下代码,
public List<ActiveViewUser> GetAllActiveUsers(int branchId){
List<ActiveViewUser> status = new List<ActiveViewUser>();
DataSet ds = DataAccessManager.ExecuteStoredProcedure("spGetAllActiveUsers", parameters);
// add an all user option to the list
ActiveViewUser allusr = new ActiveViewUser();
List<ActiveViewUser> allActiveusers = new List<ActiveViewUser>();
allusr.UserId = -1;
allusr.UserName = "AllUsers";
allusr.FirstName = "All";
status.Add(allusr);
foreach (DataRow dr in ds.Tables[0].AsEnumerable())
{
ActiveViewUser usr = new ActiveViewUser();
usr.UserId = dr["UserId"].ToString().Length == 0
? 0
: Convert.ToInt32(dr["UserId"].ToString());
usr.UserName = dr["UserName"].ToString();
usr.FirstName = dr["FirstName"].ToString();
allActiveusers.Add(usr);
}
var newli = allActiveusers.OrderBy(x => x.FirstName).ToList();
status.Add(newli); //Error occurred in this line
}
根据上面的代码,我需要先插入All 作为第一个索引,其他所有活动用户都需要在用户的FirstName 之后插入。所以我尝试了上面的查询。它返回以下错误。
无法从“System.Collections.Generic.List
”转换为“Lib.DataView.ActiveViewUser”。我在这里做错了什么。我该如何解决这个问题?
【问题讨论】:
-
查看
.Add()上的 Intellisense,您会在那里找到您的问题 -
status.AddRange(allActiveusers.OrderBy(x => x.FirstName));
标签: c# list generic-list