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


C# ICollection.Distinct方法代码示例

本文整理汇总了C#中ICollection.Distinct方法的典型用法代码示例。如果您正苦于以下问题:C# ICollection.Distinct方法的具体用法?C# ICollection.Distinct怎么用?C# ICollection.Distinct使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ICollection的用法示例。


在下文中一共展示了ICollection.Distinct方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Search

 /// <summary>
 ///     Searches all available versions of a package in a list of repostiories
 /// </summary>
 /// <param name="repositories">Repositories to search</param>
 /// <param name="packageName">Pacakge identifier</param>
 /// <returns>List of available versions</returns>
 public static ICollection<string> Search(ICollection<string> repositories, string packageName)
 {
     var factory = new PackageRepositoryFactory();
     var globalRepo = new AggregateRepository(factory, repositories.Distinct(), true);
     var packages = globalRepo.FindPackagesById(packageName);
     return packages.Select(x => x.Version)
                    .OrderByDescending(x => x)
                    .Select(x => x.ToString())
                    .ToList()
                    .Distinct().ToList() ;
 }
开发者ID:BazookaDeploy,项目名称:Bazooka,代码行数:17,代码来源:PackageSearcher.cs

示例2: Fight

        /// <summary>
        /// Simulates a fight between the player and the boss using the specified upgrades.
        /// </summary>
        /// <param name="weapon">The weapon to purchase.</param>
        /// <param name="armor">The armor to purchase, if any.</param>
        /// <param name="rings">The rings to purchase, if any.</param>
        /// <returns>
        /// A <see cref="Tuple{T1, T2}"/> that returns whether the human player won and the amount of gold spent.
        /// </returns>
        internal static Tuple<bool, int> Fight(string weapon, string armor, ICollection<string> rings)
        {
            Shop shop = new Shop();
            Human human = new Human();

            int goldSpent = human.Upgrade(shop.PurchaseWeapon(weapon));

            if (!string.IsNullOrEmpty(armor))
            {
                goldSpent += human.Upgrade(shop.PurchaseArmor(armor));
            }

            foreach (string ring in rings.Distinct().Take(2))
            {
                goldSpent += human.Upgrade(shop.PurchaseRing(ring));
            }

            Boss boss = new Boss();

            Player winner = Fight(human, boss);

            return Tuple.Create(winner == human, goldSpent);
        }
开发者ID:martincostello,项目名称:adventofcode,代码行数:32,代码来源:Day21.cs

示例3: GetAllUserDocumentsFromIdList

        private async Task<IList<UserDocument>> GetAllUserDocumentsFromIdList(ICollection<string> listOfUserIds)
        {
            listOfUserIds = listOfUserIds.Distinct().ToList();

            var query = _documentClient.CreateDocumentQuery<UserDocument>(DocumentCollectionUri)
                .Where(d => d.DocumentType == UserDocument.DocumentTypeIdentifier)
                .Where(d => d.DocumentVersion == _currentDocumentVersion)
                .Where(u => listOfUserIds.Contains(u.Id))
                .AsDocumentQuery();

            var documentResponse = await query.ExecuteNextAsync<UserDocument>();

            return documentResponse.ToList();
        }
开发者ID:Microsoft,项目名称:Appsample-Photosharing,代码行数:14,代码来源:DocumentDbRepository.cs

示例4: InvokePreStartInitMethodsCore

 internal static void InvokePreStartInitMethodsCore(ICollection<MethodInfo> methods, Func<IDisposable> setHostingEnvironmentCultures) {
     // Remove dupes 
     var methodsToExecute = methods.Distinct();
     // We want to execute PreApplicationStartmethods in a deterministic order. We'll use a sorted sequence of fully qualified type names and method names. 
     methodsToExecute = methodsToExecute.OrderBy(m => m.DeclaringType.AssemblyQualifiedName, StringComparer.OrdinalIgnoreCase)
                                        .ThenBy(m => m.Name, StringComparer.OrdinalIgnoreCase);
     foreach (var method in methodsToExecute) {
         try {
             // 
             using (setHostingEnvironmentCultures()) {
                 method.Invoke(null, null);
             }
         }
         catch (TargetInvocationException e) {
             string message = (e.InnerException != null ? e.InnerException.Message : String.Empty);
             throw new InvalidOperationException(
                 SR.GetString(SR.Pre_application_start_init_method_threw_exception,
                     method.Name,
                     method.DeclaringType.FullName,
                     message),
                 e.InnerException);
         }
     }
 }
开发者ID:nlh774,项目名称:DotNetReferenceSource,代码行数:24,代码来源:BuildManager.cs

示例5: FilterDisallowed

 public static PageBE[] FilterDisallowed(UserBE user, ICollection<PageBE> pages, bool throwException, bool allowApiKey, bool applyBanMask, out PageBE[] filteredOutPages, params Permissions[] actions) {
     IEnumerable<ulong> filtered;
     var pageLookup = pages.Distinct(x => x.ID).ToDictionary(x => x.ID);
     var allowed = FilterDisallowed(user, pages.Select(x => x.ID), throwException, allowApiKey, applyBanMask, out filtered, actions);
     filteredOutPages = filtered.Select(x => pageLookup[x]).ToArray();
     return allowed.Select(x => pageLookup[x]).ToArray();
 }
开发者ID:heran,项目名称:DekiWiki,代码行数:7,代码来源:PermissionsBL.cs

示例6: ProcessUpdates

        private void ProcessUpdates(ICollection<string> modified, ICollection<string> deleted, IEnumerable<string> added)
        {
            #region Modified

            var dict = new Dictionary<ElementUpdateDelegate, HashSet<string>>();
            foreach (var modifiedElementID in modified)
            {
                if (!modifiedCallbacks.ContainsKey(modifiedElementID))
                    continue;

                var k = modifiedCallbacks[modifiedElementID];
                if (!dict.ContainsKey(k))
                    dict[k] = new HashSet<string>();
                dict[k].Add(modifiedElementID);
            }

            foreach (var pair in dict)
                pair.Key(pair.Value);

            OnElementsModified(modified.Distinct());

            #endregion

            #region Deleted

            dict.Clear();
            foreach (var deletedElementID in deleted)
            {
                if (!deletedCallbacks.ContainsKey(deletedElementID))
                    continue;

                var k = deletedCallbacks[deletedElementID];
                if (!dict.ContainsKey(k))
                    dict[k] = new HashSet<string>();
                dict[k].Add(deletedElementID);
            }

            foreach (var pair in dict)
                pair.Key(pair.Value);

            OnElementsDeleted(deleted.Distinct());

            #endregion

            #region Added

            OnElementsAdded(added.Distinct());

            #endregion
        }
开发者ID:TheChosen0ne,项目名称:Dynamo,代码行数:50,代码来源:ModelUpdater.cs

示例7: GenerateUsings

 protected virtual string GenerateUsings(ICollection<string> usingLines)
 {
     return string.Join(_fileSystem.NewLine, usingLines.Distinct());
 }
开发者ID:pgermishuys,项目名称:scriptcs,代码行数:4,代码来源:FilePreProcessor.cs


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