Le problème est: J'ai une liste d'éléments et ensuite j'utilise le groupe par. J'ai besoin d'une autre liste contenant la moitié des éléments de chaque groupe.Comment puis-je obtenir la moitié des éléments d'une liste?
Comment puis-je faire cela? J'utilise LINQ.
MISE À JOUR:
Voici la première liste que je reçois.
XDocument xdoc = XDocument.Load(path);
var conditions = from c in xdoc.Descendants("Condition")
select new
{
ObjectiveID = (int)c.Attribute("ObjectiveID"),
TypeID = (int)c.Attribute("TypeID"),
ProblemID = (int)c.Attribute("ProblemID"),
Ranges = (from r in c.Descendants("Range")
select new
{
Decimals = (int)r.Attribute("Decimals"),
Min = (decimal)r.Attribute("Min"),
Max = (decimal)r.Attribute("Max")
}).ToArray(),
};
C'est l'original que j'utilise. De celui-là, je veux seulement obtenir la moitié des problèmes de chaque OBJECTIVEID.
Si dans l'énumérable j'ai 2 éléments du même objectifID, je dois en obtenir un seul. Si j'ai un problème, je dois en obtenir un seul. Si j'en ai 5, j'en aurais 2 ou 3.
Utilisez sauter et prendre –
s'il vous plaît montrer un code source ... – Yahia
informations mises à jour – Darf