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


C# IReadOnlyList.All方法代码示例

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


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

示例1: GetTimersForSeries

        public static List<TimerInfo> GetTimersForSeries(SeriesTimerInfo seriesTimer, IEnumerable<ProgramInfo> epgData, IReadOnlyList<RecordingInfo> currentRecordings, ILogger logger)
        {
            List<TimerInfo> timers = new List<TimerInfo>();

            // Filtered Per Show
            var filteredEpg = epgData.Where(epg => epg.Id.Substring(0, 10) == seriesTimer.Id); 

            if (!seriesTimer.RecordAnyTime)
            {
                filteredEpg = filteredEpg.Where(epg => (seriesTimer.StartDate.TimeOfDay == epg.StartDate.TimeOfDay));
            }

            if (seriesTimer.RecordNewOnly)
            {
                filteredEpg = filteredEpg.Where(epg => !epg.IsRepeat); //Filtered by New only
            }

            if (!seriesTimer.RecordAnyChannel)
            {
                filteredEpg = filteredEpg.Where(epg => string.Equals(epg.ChannelId, seriesTimer.ChannelId, StringComparison.OrdinalIgnoreCase));
            }

            filteredEpg = filteredEpg.Where(epg => seriesTimer.Days.Contains(epg.StartDate.DayOfWeek)); 
         
            filteredEpg = filteredEpg.Where(epg => currentRecordings.All(r => r.Id.Substring(0, 14) != epg.Id.Substring(0, 14))); //filtered recordings already running
            
            filteredEpg = filteredEpg.GroupBy(epg => epg.Id.Substring(0, 14)).Select(g => g.First()).ToList();

            foreach (var epg in filteredEpg)
            {
                timers.Add(CreateTimer(epg, seriesTimer));
            }

            return timers;
        }
开发者ID:Inspirony,项目名称:Emby.Plugins,代码行数:35,代码来源:RecordingHelper.cs

示例2: CanSynchronize

        public static bool CanSynchronize(IReadOnlyList<Ticker> tickers, ISimulationSettings settings, out string error)
        {
            if (tickers == null) throw new ArgumentNullException("tickers");
            if (settings == null) throw new ArgumentNullException("settings");

            if (tickers.Count == 0)
            {
                error = "There must be least one ticker.";
                return false;
            }

            if (tickers.Select(t => t.Name.ToLowerInvariant()).GroupBy(name => name).Count() < tickers.Count)
            {
                error = "Ticker names must be unique.";
                return false;
            }

            if (settings.Get<SimulationRangeSetting>().Type == SimulationRangeType.Common &&
                tickers.Select(t => t.From).Max() > tickers.Select(t => t.To).Min())
            {
                error = "Tickers do not have common range.";
                return false;
            }

            if (settings.Get<CommissionSetting>().Value < 0)
            {
                error = "Commission cannot be negative.";
                return false;
            }

            if (settings.Get<CommissionSetting>().Type == CommissionType.Percent &&
                settings.Get<CommissionSetting>().Value >= 100)
            {
                error = "Commission of percentage type must be smaller than 100 %.";
                return false;
            }

            if (settings.Get<SimulationRangeSetting>().Type == SimulationRangeType.FromToDates &&
                settings.Get<SimulationRangeSetting>().From > settings.Get<SimulationRangeSetting>().To)
            {
                error = "Simulation range is invalid.";
                return false;
            }

            if (settings.Get<InitialEquitySetting>().Value < 1)
            {
                error = "Initial equity cannot be smaller than 1.";
                return false;
            }

            if (settings.Get<SimulationRangeSetting>().Type == SimulationRangeType.FromToDates &&
                tickers.All(t => t.From > settings.Get<SimulationRangeSetting>().To || t.To < settings.Get<SimulationRangeSetting>().From))
            {
                error = "No quotes matching specified simulation time range.";
                return false;
            }

            error = null;
            return true;
        }
开发者ID:nabuk,项目名称:IstLight,代码行数:60,代码来源:SyncTickersFactory.cs

示例3: PersistenceRequest

        public PersistenceRequest(Stream stream, int expectedStreamSequence, IReadOnlyList<UnpersistedEvent> events)
            : this(events)
        {
            Argument.RequiresNotNull(stream, nameof(stream));
            Argument.Requires(expectedStreamSequence >= 0 || expectedStreamSequence == ExpectedSequence.Any, nameof(expectedStreamSequence));
            Argument.Requires(events.All(e => e.Stream.Equals(stream)), nameof(events), $"All events must belong to the stream '{stream}'");

            this.Stream = stream;
            this.ExpectedStreamSequence = expectedStreamSequence;
            this.Events = events;
        }
开发者ID:promontis,项目名称:Even,代码行数:11,代码来源:Persistence.cs

示例4: SetupWallSideActuators

        private void SetupWallSideActuators(IEnumerable<GrabableItemData> items, IReadOnlyList<ActuatorItemData> actuators)
        {
            if (actuators.Any())
            {
                CurrentGrabableItems = items;

                var factory = parser.TryMatchFactory(actuators, items.Any());
                if (factory != null)
                {
                    CurrentTile.SubItems.Add(factory.CreateItem(builder, CurrentTile, actuators));
                }
                else
                {
                    if(actuators.All(x => x.ActuatorType != 5 && x.ActuatorType != 6))
                    {
                        foreach (var i in actuators)
                        {
                            Point? absolutePosition = null;
                            if (i.ActionLocation is RemoteTarget)
                                absolutePosition = ((RemoteTarget) i.ActionLocation).Position.Position.ToAbsolutePosition(builder.CurrentMap);

                            CurrentTile.SubItems.Add(new Actuator(builder.GetWallPosition(i.TilePosition, CurrentTile), $"{absolutePosition} {i.DumpString()}"));
                        }
                    }
                    else
                    {
                        
                    }
                }
            }
        }
开发者ID:ggrrin,项目名称:DungeonMaster,代码行数:31,代码来源:WallActuatorCreator.cs

示例5: AugmentCompletionsBasedOnLinesBefore

            private void AugmentCompletionsBasedOnLinesBefore(IReadOnlyList<RobotsTxtLineSyntax> before, IList<Completion> completions)
            {
                // first line
                if (!before.Any())
                {
                    completions.Add(ToCompletion("User-agent"));
                }

                // right after User-agent
                else if (before.All(l => l.NameToken.Value.Equals("User-agent", StringComparison.InvariantCultureIgnoreCase)))
                {
                    completions.Add(ToCompletion("User-agent"));
                    completions.Add(ToCompletion("Allow"));
                    completions.Add(ToCompletion("Disallow"));
                    completions.Add(ToCompletion("Sitemap"));
                    completions.Add(ToCompletion("Host"));
                    completions.Add(ToCompletion("Crawl-delay"));
                }

                // any other case
                else
                {
                    completions.Add(ToCompletion("Allow"));
                    completions.Add(ToCompletion("Disallow"));
                    completions.Add(ToCompletion("Sitemap"));

                    if (!before.Any(l => l.NameToken.Value.Equals("Host", StringComparison.InvariantCultureIgnoreCase)))
                        completions.Add(ToCompletion("Host"));

                    if (!before.Any(l => l.NameToken.Value.Equals("Crawl-delay", StringComparison.InvariantCultureIgnoreCase)))
                        completions.Add(ToCompletion("Crawl-delay"));
                }
            }
开发者ID:peterwie,项目名称:RobotsTxtLanguageService,代码行数:33,代码来源:RobotsTxtCompletionSource.cs

示例6: Search

        public IReadOnlyList<IRange> Search(string currentText, IReadOnlyList<IRange> ranges)
        {
            Contract.Requires(currentText != null);
            Contract.Requires(ranges != null);
            Contract.Requires(ranges.All(range => range != null));

            if (Strategy == LookupStrategy.NONE || ranges.Count == 0 || currentText.Equals(OriginalText))
            {
                return ranges;
            }

            var regexSearchStr = new StringBuilder();

            var offset = 0;
            for(var i = 0;i < ranges.Count ; i++)
            {
                var range = ranges[i];
                var surface = OriginalText.Substring(range.Start, range.Length);

                if (offset != range.Start)
                {
                    if (range.Start - offset > 1)
                    {
                        regexSearchStr.Append(".*?");
                    }
                    regexSearchStr.Append("(?:");
                    regexSearchStr.Append(Regex.Escape(OriginalText.Substring(range.Start-1,1)));
                    if(offset == 0) {
                        regexSearchStr.Append("|\\A");
                    }
                    regexSearchStr.Append(")");
                }
                offset = range.End;

                regexSearchStr.Append("(" + Regex.Escape(surface) + ")");
            }

            Regex regex = new Regex(regexSearchStr.ToString(), RegexOptions.Multiline);

            var searchTextRange = OriginalText.Substring(0, Math.Min(OriginalText.Length, ranges[ranges.Count -1].End+1));
            var matchesBefore = regex.Matches(searchTextRange).Count;

            //Contract.Assert(matchesBefore >= 1);

            var currentMatches = regex.Matches(currentText);

            List<IRange> result = new List<IRange>();
            {
                var i = 0;
                foreach(System.Text.RegularExpressions.Match match in currentMatches){
                    i++;
                    if(i == Math.Min(matchesBefore, currentMatches.Count))
                    {
                        Contract.Assert(match.Groups.Count -1 == ranges.Count);
                        var r = -1;
                        foreach (Group group in match.Groups)
                        {
                            r++;
                            if (r == 0)
                            {
                                continue;
                            }
                            var range = ranges[r -1];
                            Contract.Assert(OriginalText.Substring(range.Start,range.Length).Equals(group.Value));

                            result.Add(new Range(group.Index, group.Index + group.Length));
                        }
                    }
                }
            }

            return result;
        }
开发者ID:acrolinx,项目名称:acrolinx-sidebar-demo-dotnet,代码行数:73,代码来源:Lookup.cs


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