当前位置: 首页>>代码示例>>C#>>正文


C# ConcurrentBag.AddRange方法代码示例

本文整理汇总了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);
        }
开发者ID:XMotoGodX,项目名称:novaroma,代码行数:13,代码来源:TorrentDownloaderBase.cs

示例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);
        }
开发者ID:XMotoGodX,项目名称:novaroma,代码行数:14,代码来源:TorrentDownloaderBase.cs

示例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();
        }
开发者ID:XMotoGodX,项目名称:novaroma,代码行数:20,代码来源:TorrentDownloaderBase.cs

示例4: AddTypesToTypeList

 private static void AddTypesToTypeList(IEnumerable<Type> types, ConcurrentBag<Type> typeList)
 {
     if (types.IsInstance())
         typeList.AddRange(types);
 }
开发者ID:JonasSyrstad,项目名称:Stardust,代码行数:5,代码来源:TypeExtractor.cs


注:本文中的ConcurrentBag.AddRange方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。