peng04.logic.NGramCache.Aggregate C# (CSharp) Метод

Aggregate() публичный статический Метод

public static Aggregate ( IEnumerable nGramCaches ) : NGramCache
nGramCaches IEnumerable
Результат NGramCache
        public static NGramCache Aggregate(IEnumerable<NGramCache> nGramCaches)
        {
            var result = new NGramCache();

            foreach (var item in nGramCaches)
            {
                IEnumerable<NGramCache> nGrams = item.NextSegment.Values;

                while(nGrams.Count() > 0)
                {
                    foreach (var xGram in nGrams)
                    {
                        result.Increment(xGram.NGram, xGram.Value);
                    }

                    // next n
                    nGrams = nGrams.SelectMany(el => el.NextSegment.Values);
                }
            }

            return result;
        }