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


C# IObservable.StartWith方法代码示例

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


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

示例1: WatchFile

        public static IObservable<FileNotification> WatchFile(this FileInfo file, IObservable<Unit> pulse)
        {
            return pulse.StartWith(Unit.Default)

                .Scan((FileNotification) null, (state, _) => state == null
                    ? new FileNotification(file)
                    : new FileNotification(state));
        }
开发者ID:abuzhynsky,项目名称:TailBlazer,代码行数:8,代码来源:FileInfoEx.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.StartWith方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。