Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 列表收集循环_C#_List_Linq - Fatal编程技术网

C# 列表收集循环

C# 列表收集循环,c#,list,linq,C#,List,Linq,语言c#,Visual Studio 2015 public class UserDTO { public string UserID {get;set;} public string UserName {get;set;} public string ManagerName {get;set;} public string ManagerEmail {get;set;} } 我得到如下列表输入 List<U

语言c#,Visual Studio 2015

public class UserDTO
    {
        public string UserID {get;set;}
        public string UserName {get;set;}
        public string ManagerName {get;set;}
        public string ManagerEmail {get;set;}
    }
我得到如下列表输入

List<UserDTO> lstUsr = new List<UserDTO>();
lstUsr.Add(new UserDTO { UserID = "A1", UserName = "AXZ" });
lstUsr.Add(new UserDTO { UserID = "B1", UserName = "BYZ" });
List lstUsr=new List();
lstUsr.Add(newuserdto{UserID=“A1”,UserName=“AXZ”});
lstUsr.Add(newuserdto{UserID=“B1”,UserName=“BYZ”});
我有一个方法来获取ManagerEmail和ManagerName,输入是UserID

我需要循环lstUsr并更新同一列表中每个用户id的ManagerEmail和ManagerName


现在我创建多个列表并获得结果。我想知道它是否有效,是否可以使用相同的列表来完成?感谢psedoo代码的帮助

string ShiftUserID = string.Join(",", lstUser.Distinct().Select(a => a.UserID));
private List<UserDTO> GetManagerDetail(string ShiftUserID )
        {
            List<UserDTO> lstMgrDetail = new List<UserDTO>();
            UserDTO oUser = null;
            string sMgrName;
            string sMgrMobile;
            string sMgrEmail;
            string[] sUserADID = sShiftUserADID.Split(',').Select(sValue => sValue.Trim()).ToArray();
            foreach (string sADID in sUserADID)
            {

                    oUser = new UserDTO();
                    ADHelperUtility.GetManagerDetail(ShiftUserID , out sMgrEmail, out sMgrName);
                    oUser.ManagerName = sMgrName;
                    oUser.ManagerEmail = sMgrEmail;
                    lstMgrDetail.Add(oUser);
                }

            return lstMgrDetail;
        }
string ShiftUserID=string.Join(“,”,lstUser.Distinct().Select(a=>a.UserID));
私有列表GetManagerDetail(字符串ShiftUserID)
{
List lstMgrDetail=新列表();
UserDTO-oUser=null;
字符串sMgrName;
字符串sMgrMobile;
字符串sMgrEmail;
字符串[]sUserADID=sShiftUserADID.Split(',).Select(sValue=>sValue.Trim()).ToArray();
foreach(sUserADID中的字符串sADID)
{
USER=新用户DTO();
GetManagerDetail(ShiftUserID、out-sMgrEmail、out-sMgrName);
oUser.ManagerName=sMgrName;
oUser.ManagerEmail=sMgrEmail;
lstMgrDetail.Add(USER);
}
返回详细信息;
}

按预期遍历列表并设置值: 比如:

foreach(UserDTO user in lstUsr)
{
   string managerName;
   string managerEmail = GetManagerInfoByID(user.UserID, out managerName); // Returns email and send out managerName. You could use an object here instead, just showing this for demo purposes.

  user.ManagerName = managerName;
  user.ManagerEmail = managerEmail;
}

你试过自己做吗?结果如何?它工作了吗?“现在我创建了多个列表并获得了结果”-请编辑问题以包括您是如何做到这一点的。