获取列表中的列表项

时间:2014-01-22 15:47:45

标签: c# linq list

我想得到列表“comptes”的项目“numCompte”,它包含在列表“clients”中(列表“fc”也是如此) 这是代码:

Console.WriteLine("Nom Client : {0}\n Compte : {1}\n",
       f.Clients.Select(y => y.NomClient), 
       f.Clients.Select(x => x.ComptesClient.Select(z => z.NumCompte)));

但是,它向我展示了这个例外:

  

值不能为空

这些是类:

public class FC
    {
        //Déclarant
        public string IdFC { get; set; }
        public List<Client> Clients { get; set; }
    }

public class Client
    {
        // Personne Physique
        public string IdClient { get; set; }
        public string NomClient { get; set; }
        public List<Compte> ComptesClient { get; set; }
    }

public class Compte 
    {
        public string NumCompte { get; set; }
    }

2 个答案:

答案 0 :(得分:0)

如果我理解你的结构,我相信你可以做到:

fc.SelectMany(i => i.numCompte).Sum();

答案 1 :(得分:0)

  

我想获取列表客户端(idClient)及其帐户ID   (numCompte)

获取客户ID(确保Clients列表不是null):

f.Clients.Select(c => c.IdClient)

获取帐户ID(确保ClientsComptesClient列表不是null):

f.Clients.SelectMany(c => c.ComptesClient.Select(cc => cc.NumCompte))