in DuplicateCodeDetector/CloneDetector.cs [45:57]
private static IEnumerable<(string Token, int Count)> Count(IEnumerable<string> tokens)
{
var allCounts = new Dictionary<string, int>();
foreach (var token in tokens)
{
if (!allCounts.TryGetValue(token, out var currentCount))
{
currentCount = 0;
}
allCounts[token] = currentCount + 1;
}
return allCounts.Select(kv => (kv.Key, kv.Value));
}