如何将IEnumerable集合添加到ICollection列表中
本文关键字:ICollection 列表 添加 集合 IEnumerable | 更新日期: 2024-10-22 14:22:13
我添加了将Ienumerable集合添加到Icollection的方法。
public static ICollection<T> AddTo<T>(this IEnumerable<T> list,ICollection<T> collection) {
foreach (T item in list) {
collection.Add(item);
}
return collection;
}
但第一次将集合变量初始化为null。然后我得到了"对象引用未找到错误",请告诉我如何将Ienumerable列表数据正确添加到Icollection?
编辑:
ICollection<UserInApplication> userInAppRole=null;
IEnumerable<UserInApplication> result=null;
result = _userService.UserInApplicationRoles(iAppRoleId, collection["displayName"]).AsEnumerable();
userInAppRole = Extensions.AddTo<UserInApplicationRole>(result,userInAppRole);
您没有初始化集合。并且可以用更好的方式调用扩展方法。
ICollection<UserInApplication> userInAppRole=new Collection<UserInApplication>(); //Initialize this
IEnumerable<UserInApplication> result=null;
result = _userService.UserInApplicationRoles(iAppRoleId,collection["displayName"])
.AsEnumerable();
userInAppRole = result.AddTo(userInAppRole);
看看这个代码:
ICollection<UserInApplication> userInAppRole=null;
IEnumerable<UserInApplication> result=null;
result = _userService.UserInApplicationRoles(iAppRoleId, collection["displayName"]).AsEnumerable();
userInAppRole = Extensions.AddTo<UserInApplicationRole>(result,userInAppRole)
您永远不会在userInAppRole
变量中实例化集合;它是空的。当您尝试将result
添加到null中时,会得到一个异常。
public static ICollection<T> AddTo<T>(this IEnumerable<T> list,ICollection<T> collection) {
if ((null != list) || (null != collection)) {
foreach (T item in list) {
collection.Add(item);
}
}
return collection;
}