コード例 #1
0
        protected override NodeBase ReduceTerminalList(NodeBase node)
        {
            var values      = node.GetTerminalValues <TIn>();
            var itemsToSkip = this.count - this.itemsSkipped;

            var returnValue = CreateTerminal(itemsToSkip == 0 ? values : values.Skip(itemsToSkip));

            this.itemsSkipped += itemsToSkip;
            return(returnValue);
        }
コード例 #2
0
        protected override NodeBase ReduceTerminalList(NodeBase node)
        {
            var values      = node.GetTerminalValues <TIn>();
            var itemsToTake = this.count - this.itemsTaken;

            var returnValue = CreateTerminal(itemsToTake == 0 ? values : values.Take(itemsToTake));

            this.itemsTaken += itemsToTake;

            return(returnValue);
        }
コード例 #3
0
        protected override NodeBase ReduceTerminalList(NodeBase node)
        {
            var values = node.GetTerminalValues <TIn>().Except(this.previousValues).ToArray();

            foreach (var value in values)
            {
                this.previousValues.Add(value);
            }

            return(CreateTerminal(values));
        }
コード例 #4
0
        protected override NodeBase ReduceTerminalList(NodeBase node)
        {
            var values = node.GetTerminalValues <TIn>();

            return(CreateTerminal(values.Select(this.selector)));
        }
コード例 #5
0
        protected override NodeBase ReduceTerminalList(NodeBase node)
        {
            var values = node.GetTerminalValues <TIn>();

            return(CreateTerminal(values.Cast <TOut>()));
        }
コード例 #6
0
        protected override NodeBase ReduceTerminalList(NodeBase node)
        {
            var values = node.GetTerminalValues <TIn>();

            return(CreateTerminal(values.Where(this.predicate)));
        }