C# Tupel group limitation

Posted by user609511 on Stack Overflow See other posts from Stack Overflow or by user609511
Published on 2011-11-24T09:41:10Z Indexed on 2011/11/24 9:52 UTC
Read the original article Hit count: 289

Filed under:
|
|

How can i controll the loop of Tupel Repeatation ?

Someone has give me a hint about my algorithm. I modified a little bit his algorithm.

int LimCol = Convert.ToInt32(LimitColis);

result = oListTUP
         .GroupBy(x => x.Item1)
         .Select(g => new
         {
             Key = g.Key,
             Sum = g.Sum(x => x.Item2),
             Poids = g.Sum(x => x.Item3),
         })
         .Select(p => new
         {
             Key = p.Key,
             Items = Enumerable.Repeat(LimCol , p.Sum  / LimCol).Concat(Enumerable.Repeat(p.Sum  % LimCol, 1)),
             CalculPoids = p.Poids / (Enumerable.Repeat(LimCol, p.Sum / LimCol).Concat(Enumerable.Repeat(p.Sum % LimCol, 1))).Count()
         })
         .SelectMany(p => p.Items.Select(i => Tuple.Create(p.Key, i, p.CalculPoids)))
                        .ToList();

foreach (var oItem in result)
{
     Label1.Text += oItem.Item1 + "--" + oItem.Item2 + "--" + oItem.Item3 + "<br>";
}

the result with LimCol = 3 ScreenShot

as you can see i colored with red is the problem. i expected:

0452632--3--3,75
0452632--3--3,75
0452632--3--3,75
0452632--3--3,75
essai 49--3--79,00
essai 49--2--79,00

Thanks you in advance

© Stack Overflow or respective owner

Related posts about c#

Related posts about sql