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


C# IReadOnlyList.Except方法代码示例

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


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

示例1: GetOrCreate

        public IReadOnlyList<IUniverseDao> GetOrCreate(IReadOnlyList<string> universeNames)
        {
            var existing = Context.Universes.Where(u => universeNames.Contains(u.Name)).ToImmutableList();

            var missingNames = universeNames.Except(existing.Select(u => u.Name));
            var allUniverses = new List<UniverseDao>(existing);

            foreach (var name in missingNames)
            {
                var universe = new UniverseDao { Name = name };
                Context.Universes.Add(universe);
                allUniverses.Add(universe);
            }

            Context.SaveChanges();
            return allUniverses;
        }
开发者ID:ThePadawan,项目名称:the_diary,代码行数:17,代码来源:EFUniverseDal.cs

示例2: PickNewServer

        protected virtual Uri PickNewServer(Uri lastServer, IReadOnlyList<Uri> serverPool)
        {
            if (!serverPool.Any())
            {
                throw new NoServersAvailableException();
            }

            if (serverPool.Count == 1)
            {
                return serverPool[0];
            }

            if (lastServer != null)
            {
                serverPool = serverPool.Except(new[] { lastServer }).ToList();
            }

            if (!serverPool.Any())
            {
                if (lastServer == null)
                {
                    throw new NoServersAvailableException();
                }

                return lastServer;
            }

            if (serverPool.Count == 1)
            {
                return serverPool[0];
            }

            _server++;
            int index = _server;
            return serverPool[index % serverPool.Count];
        }
开发者ID:geffzhang,项目名称:Bolt,代码行数:36,代码来源:MultipleServersProvider.cs

示例3: FindTenantsByName

        private async Task<IEnumerable<TenantResource>> FindTenantsByName(IReadOnlyList<string> tenantNames)
        {
            if (!tenantNames.Any())
            {
                return Enumerable.Empty<TenantResource>();
            }

            if (tenantNames.Contains("*"))
            {
                return await repository.Tenants.FindAll().ConfigureAwait(false);
            }

            var tenantsByName = await repository.Tenants.FindByNames(tenantNames).ConfigureAwait(false);
            var missing = tenantsByName == null || !tenantsByName.Any()
                ? tenantNames.ToArray()
                : tenantNames.Except(tenantsByName.Select(e => e.Name), StringComparer.OrdinalIgnoreCase).ToArray();

            var tenantsById = await repository.Tenants.Get(missing).ConfigureAwait(false);

            missing = tenantsById == null || !tenantsById.Any()
                ? missing
                : missing.Except(tenantsById.Select(e => e.Id), StringComparer.OrdinalIgnoreCase).ToArray();

            if (missing.Any())
            {
                throw new ArgumentException($"Could not find the {"tenant" + (missing.Length == 1 ? "" : "s")} {string.Join(", ", missing)} on the Octopus server.");
            }

            var allTenants = Enumerable.Empty<TenantResource>();
            if (tenantsById != null)
            {
                allTenants = allTenants.Concat(tenantsById);
            }
            if (tenantsByName != null)
            {
                allTenants = allTenants.Concat(tenantsByName);
            }

            return allTenants;
        }
开发者ID:OctopusDeploy,项目名称:Octo.exe,代码行数:40,代码来源:OctopusRepositoryCommonQueries.cs

示例4: UpdateFolders

            public async void UpdateFolders(IReadOnlyList<StorageFolder> folders)
            {
                var futureAccessList = StorageApplicationPermissions.FutureAccessList;
                var oldFolders = await GetFolders();

                var toRemove = oldFolders.Except(folders).ToList();
                _watchedProvider.RemoveFolders(toRemove);

                var toAdd = folders.Except(oldFolders).ToList();
                foreach (var folder in toAdd)
                {
                    if (!futureAccessList.CheckAccess(folder))
                        futureAccessList.Add(folder);
                }
                _watchedProvider.AddFolders(toAdd);
                _playlistFile.SetFolders(folders);
            }
开发者ID:sunnycase,项目名称:TomatoMusic,代码行数:17,代码来源:PlaylistManager.cs


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