本文整理汇总了C#中IReadOnlyCollection.GroupBy方法的典型用法代码示例。如果您正苦于以下问题:C# IReadOnlyCollection.GroupBy方法的具体用法?C# IReadOnlyCollection.GroupBy怎么用?C# IReadOnlyCollection.GroupBy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IReadOnlyCollection
的用法示例。
在下文中一共展示了IReadOnlyCollection.GroupBy方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetOrderedWordsWithRate
private static IEnumerable<Tuple<string, double>> GetOrderedWordsWithRate(IReadOnlyCollection<string> words)
{
var count = words
.GroupBy(x => x)
.ToDictionary(g => g.Key, g => g.Count());
var maxCount = count.Max(t => t.Value);
return words
.RandomShuffle(new Random())
.Distinct()
.Select(s => Tuple.Create(s, (double) count[s] / maxCount));
}
示例2: SyncCollections
public async Task SyncCollections(IReadOnlyCollection<SubscribedCollection> collections,
IReadOnlyCollection<NetworkContent> content, bool countCheck = true) {
var contents =
await
DownloadCollections(
collections.GroupBy(x => x.GameId)
.Select(x => new Tuple<Guid, List<Guid>>(x.Key, x.Select(t => t.Id).ToList())))
.ConfigureAwait(false);
if (countCheck && contents.Count < collections.Count)
throw new Exception("Could not find all requested collections");
foreach (var c in contents) {
var col = collections.Find(c.Id);
c.MapTo(col);
HandleContent(content, col, c, await GetRepositories(col).ConfigureAwait(false));
}
}
示例3: SyncCollections
public async Task SyncCollections(IReadOnlyCollection<SubscribedCollection> collections,
bool countCheck = true) {
var contents =
await
DownloadCollections(
collections.GroupBy(x => x.GameId)
.Select(x => new Tuple<Guid, List<Guid>>(x.Key, x.Select(t => t.Id).ToList())))
.ConfigureAwait(false);
if (countCheck && (contents.Count < collections.Count))
throw new NotFoundException("Could not find all requested collections");
foreach (var c in contents.Select(x => new {x, Col = collections.FindOrThrow(x.Id)}))
await MapExistingCollection(c.x, c.Col, CancellationToken.None).ConfigureAwait(false);
}