Sha256: 483228e0261a24e9de8d97c9a610febdddb49b3c7aa2203b40a460467532b090

Contents?: true

Size: 715 Bytes

Versions: 396

Compression:

Stored size: 715 Bytes

Contents

using System.Collections.Generic;
using System.Linq;

public static class ParallelLetterFrequency
{
    public static Dictionary<char, int> Calculate(IEnumerable<string> texts)
    {
        return texts.AsParallel().Aggregate(new Dictionary<char, int>(), AddCount);
    }

    private static Dictionary<char, int> AddCount(Dictionary<char, int> target, string text)
    {
        foreach (var kv in text.ToLower().Where(char.IsLetter).GroupBy(c => c))
        {
            if (target.ContainsKey(kv.Key))
            {
                target[kv.Key] += kv.Count();
            }
            else
            {
                target[kv.Key] = kv.Count();
            }
        }

        return target;
    }
}

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/csharp/exercises/parallel-letter-frequency/Example.cs
trackler-2.2.1.179 tracks/csharp/exercises/parallel-letter-frequency/Example.cs
trackler-2.2.1.178 tracks/csharp/exercises/parallel-letter-frequency/Example.cs
trackler-2.2.1.177 tracks/csharp/exercises/parallel-letter-frequency/Example.cs
trackler-2.2.1.176 tracks/csharp/exercises/parallel-letter-frequency/Example.cs
trackler-2.2.1.175 tracks/csharp/exercises/parallel-letter-frequency/Example.cs
trackler-2.2.1.174 tracks/csharp/exercises/parallel-letter-frequency/Example.cs
trackler-2.2.1.173 tracks/csharp/exercises/parallel-letter-frequency/Example.cs
trackler-2.2.1.172 tracks/csharp/exercises/parallel-letter-frequency/Example.cs
trackler-2.2.1.171 tracks/csharp/exercises/parallel-letter-frequency/Example.cs
trackler-2.2.1.170 tracks/csharp/exercises/parallel-letter-frequency/Example.cs
trackler-2.2.1.169 tracks/csharp/exercises/parallel-letter-frequency/Example.cs
trackler-2.2.1.167 tracks/csharp/exercises/parallel-letter-frequency/Example.cs
trackler-2.2.1.166 tracks/csharp/exercises/parallel-letter-frequency/Example.cs
trackler-2.2.1.165 tracks/csharp/exercises/parallel-letter-frequency/Example.cs
trackler-2.2.1.164 tracks/csharp/exercises/parallel-letter-frequency/Example.cs
trackler-2.2.1.163 tracks/csharp/exercises/parallel-letter-frequency/Example.cs
trackler-2.2.1.162 tracks/csharp/exercises/parallel-letter-frequency/Example.cs
trackler-2.2.1.161 tracks/csharp/exercises/parallel-letter-frequency/Example.cs
trackler-2.2.1.160 tracks/csharp/exercises/parallel-letter-frequency/Example.cs