将对象列表复制到另一个对象中另一个对象的另一个列表

时间:2014-03-05 09:43:13

标签: c# linq linq-to-objects

我的方法返回一个包含对象列表的响应对象。

public class GetAccountsListResponse
{
    public List<AccountsList> Accounts { get; set; }
}

public class AccountsList
{
    public string AccountId { get; set; }
    public string AccountName { get; set; }

}

我试过这样的事情,但是我得到了null引用异常:

public GetAccountsListResponse GetAccountsList()
    {

        AccountRepository objRepo = new AccountRepository();
        GetAccountsListResponse res = new GetAccountsListResponse();

        List<Account> lstAccnts = new List<Account>();
        lstAccnts = objRepo.GetAccountsFromRepo();

        foreach (var item in lstAccnts)
        {
            res.Accounts = new List<AccountsList>();
            res.Accounts.ForEach(c => c.AccountId = item.AccountId);    

        }

        return res;
    }

请帮我解决问题。

1 个答案:

答案 0 :(得分:3)

这很明显,因为您只创建一个没有实例化对象的新列表 试试这样的事情

    res.Accounts = new List<AccountsList>();
    foreach (var item in lstAccnts)
    {

        res.Accounts.Add( new AccountsList(){AccountId =item.AccountId});    

    }