J'essaie de récupérer des enregistrements à partir d'une liste J'essaie de chercher Articles où
surdues.accounts.accound = 'jkb1' code> et comment puis-je le faire sur les éléments de la liste ci-dessous. P>
public class OverdueModel
{
public string Slab { get; set; }
public double Value { get; set; }
public double Percentage { get; set; }
public List<OverdueSlabAccounts> Accounts { get; set; }
}
public class OverdueSlabAccounts
{
public string AccountId { get; set; }
public string AccountName { get; set; }
public string SalesCode { get; set; }
public string Value { get; set; }
}
void Main(){
List<OverdueModel> overdues = new List<OverdueModel>();
List<OverdueSlabAccounts> accounts = new List<OverdueSlabAccounts>();
//For T3
accounts.Clear();
accounts.Add(new OverdueSlabAccounts()
{
AccountId = "JKB1",
AccountName = "JKB1",
SalesCode = "JKB",
Value = "500"
});
accounts.Add(new OverdueSlabAccounts()
{
AccountId = "JKB2",
AccountName = "JKB2",
SalesCode = "JKB",
Value = "500"
});
overdues.Add(new OverdueModel()
{
Slab = "T3",
Value = 1000,
Percentage = 0,
Accounts = accounts
});
//For T4
accounts.Clear();
accounts.Add(new OverdueSlabAccounts()
{
AccountId = "JKB1",
AccountName = "JKB1",
SalesCode = "JKB",
Value = "1000"
});
overdues.Add(new OverdueModel()
{
Slab = "T4",
Value = 1000,
Percentage = 0,
Accounts = accounts
});
}
3 Réponses :
Vous pouvez utiliser Ceci filtrera ces personnes pour lesquelles un compte associé a où code> et
tout code> en combinaison pour ceci:
CompteID code> JKB1 strong> p> p>
Vous pouvez utiliser linq à des fins pour plus d'informations sur sortie p> où code> et
tout code> p>
Pouvez-vous me partager votre Linqpad code> Travailler, je suis juste curieux de savoir comment il peut être fait avec
C # classes code>
Vous pouvez utiliser filteredlist.dump () pour imprimer dans Linqpad.
var filteredlist = surdues.Où (x => x.accounts.any (c => c.accountid == "JKB1")); filteredlist.dump ();
C'est le seul changement du code que vous avez donné en OP, autre que bien sûr, ajout de système.Linq dans des espaces de noms
Merci beaucoup avec la LINQPAD CODE> Réponse de détail Travaille et très informative. Cela m'a aidé beaucoup!
Vous pouvez essayer ceci:
var account = accounts.Find(x => x.AccountId.Equals("JKB1")));
Merci à tous ceux qui m'ont aidé. Je suis obligé ici de marquer comme réponse à la première réponse.