Avoir ce qui suit:
var categories = new List {10,20,30,40}; // Notez le 40 ici...
var bundleA = new List {10,20};
var bundleB = new List {20,20,30};
var lots = new List> {bundleA, bundleB};
var total = lots.Sum (l => l.Count);
var res = from lot in lots
from bundle in lot
join length in categories on bundle equals length into l
group bundle by l
into g
select new {Length = g.Key.Single(), Dist = (double)g.Count() / total};
res.Dump();
Le dump montre:
- Longueur = 10 avec Dist = 0.2
- Longueur = 20 avec Dist = 0.6
- Longueur = 30 avec Dist = 0.2
J'essaie d'avoir Longueur = 40 avec Dist = 0 dans le résultat mais je n'arrive pas à le comprendre.
Une aide s'il vous plaît?