本文整理汇总了C#中ConcurrentBag.AddRange方法的典型用法代码示例。如果您正苦于以下问题:C# ConcurrentBag.AddRange方法的具体用法?C# ConcurrentBag.AddRange怎么用?C# ConcurrentBag.AddRange使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ConcurrentBag
的用法示例。
在下文中一共展示了ConcurrentBag.AddRange方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SearchMovie
public virtual async Task<IEnumerable<ITorrentSearchResult>> SearchMovie(string name, int? year, string imdbId, VideoQuality videoQuality = VideoQuality.Any,
string extraKeywords = null, string excludeKeywords = null,
int? minSize = null, int? maxSize = null, int? minSeed = null) {
var results = new ConcurrentBag<ITorrentSearchResult>();
var tasks = MovieProviders.RunTasks(p =>
p.SearchMovie(name, year, imdbId, videoQuality, extraKeywords, excludeKeywords, minSize, maxSize, minSeed, this)
.ContinueWith(t => results.AddRange(t.Result)),
ExceptionHandler
);
await Task.WhenAll(tasks);
return results.OrderByDescending(r => r.Seed);
}
示例2: Search
public virtual async Task<IEnumerable<ITorrentSearchResult>> Search(string query, VideoQuality videoQuality = VideoQuality.Any, string excludeKeywords = null,
int? minSize = null, int? maxSize = null, int? minSeed = null) {
var providers = ((IEnumerable<ITorrentProvider>)MovieProviders).Union(TvShowProviders);
var results = new ConcurrentBag<ITorrentSearchResult>();
var tasks = providers.RunTasks(p =>
p.Search(query, videoQuality, excludeKeywords, minSize, maxSize, minSeed, this)
.ContinueWith(t => results.AddRange(t.Result)),
ExceptionHandler
);
await Task.WhenAll(tasks);
return results.OrderByDescending(r => r.Seed);
}
示例3: SearchTvShowEpisode
public virtual async Task<IEnumerable<ITorrentSearchResult>> SearchTvShowEpisode(string name, int season, int episode, string episodeName, string imdbId,
VideoQuality videoQuality = VideoQuality.Any, string extraKeywords = null, string excludeKeywords = null,
int? minSize = null, int? maxSize = null, int? minSeed = null) {
var results = new ConcurrentBag<ITorrentSearchResult>();
var tasks = TvShowProviders.RunTasks(p =>
p.SearchTvShowEpisode(name, season, episode, episodeName, imdbId, videoQuality, extraKeywords, excludeKeywords, minSize, maxSize, minSeed, this)
.ContinueWith(t => results.AddRange(t.Result)),
ExceptionHandler
);
await Task.WhenAll(tasks);
return results
.Where(r => {
int? s, e;
Helper.DetectEpisodeInfo(r.Name, name, out s, out e);
return (s == null || s == season) && e == episode;
})
.OrderByDescending(r => r.Seed)
.ToList();
}
示例4: AddTypesToTypeList
private static void AddTypesToTypeList(IEnumerable<Type> types, ConcurrentBag<Type> typeList)
{
if (types.IsInstance())
typeList.AddRange(types);
}