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


C# IObservable.Zip方法代码示例

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


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

示例1: Pocket

        public Pocket(IObservable<StockQuote> delayedInputs, IObservable<bool> signals, decimal money)
        {
            _money = money;
            _moneySubject.OnNext(new PocketState { Value = money });

            delayedInputs.LastAsync().Subscribe(final => _finalStockQuote = final);

            delayedInputs
                .Zip(signals, (input, signal) => new StockQuoteSignal { StockQuote = input, Signal = signal })
                .DistinctUntilChanged(selector => selector.Signal)
                .Subscribe(BuyOrSell, SellAll);
        }
开发者ID:mberent,项目名称:ATStreaming,代码行数:12,代码来源:Pocket.cs

示例2: ScreenInput

        public ScreenInput(IObservable<VirtualControllerState> Input)
        {
            var ButtonPresses = new Subject<VirtualButtons>();
              var ButtonReleases = new Subject<VirtualButtons>();
              var PointChanges = new Subject<Point>();

              Input = Input.StartWith(new VirtualControllerState());

              // Wire up the buttons
              Input
            .Zip(Input.Skip(1), Tuple.Create)
            .Subscribe((tuple) => {
              var old = tuple.Item1;
              var curr = tuple.Item2;

              foreach (VirtualButtons button in Enum.GetValues(typeof(VirtualButtons))) {
            if (old.IsButtonPressed(button) != curr.IsButtonPressed(button)) {
              ((curr.IsButtonPressed(button)) ? ButtonPresses : ButtonReleases).OnNext(button);
              Console.WriteLine(button.ToString() + " " + curr.IsButtonPressed(button));
            }
              }
            });

              // Wire up the point
              Input
            .Select((state) => state.Point)
            .DistinctUntilChanged()
            .Subscribe(PointChanges);

              this.ButtonPresses = ButtonPresses;
              this.ButtonReleases = ButtonReleases;
              this.PointChanges = PointChanges;
        }
开发者ID:comp380team3,项目名称:PuzzlePathDimension,代码行数:33,代码来源:GameScreen.cs


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