C#のReactivePropertyで同じ値を代入した場合Subscribeが実行されるか確認する

C# コンピュータ
C#

値が変更されることをきっかけにSubscribeが実行されるはずなので、同じ値を代入した場合Subscribeは実行されないと思われるので確認してみます。

public ReactiveProperty<string> Title { get; private set; }
Title = new ReactiveProperty<string>("Title");
Title
    .Skip(1)    // 初回はスキップ
    .Subscribe(x =>
    {
        Debug.Print($"{x}");
    });
        
// 同じ値をセット
Title.Value = "Title";  // .Subscribe()は実行されない。
// 異なる値をセット
Title.Value = "タイトル"; // .Subscribe()は実行される。

実行すると”タイトル”を代入したSubscribe()のみ実行され、同じ値”Title”を代入した際にはSubscribe()は実行されませんでした。

コメント