खोज…


एक TextBox पर TextChanged घटना का अवलोकन

पाठ बॉक्स के TextChanged घटना से एक अवलोकन बनाया जाता है। साथ ही किसी भी इनपुट को केवल तभी चुना जाता है यदि वह पिछले इनपुट से अलग है और यदि 0.5 सेकंड के भीतर कोई इनपुट नहीं है। इस उदाहरण में आउटपुट कंसोल पर भेजा जाता है।

Observable
     .FromEventPattern(textBoxInput, "TextChanged")
     .Select(s => ((TextBox) s.Sender).Text)
     .Throttle(TimeSpan.FromSeconds(0.5))
     .DistinctUntilChanged()
     .Subscribe(text => Console.WriteLine(text));

अवलोकन से डेटाबेस से डेटा स्ट्रीमिंग

मान लें कि एक विधि IEnumerable<T> , fe पर लौट रही है

private IEnumerable<T> GetData()
{
    try 
    {
        // return results from database 
    }
    catch(Exception exception)
    {
        throw;
    }
}  

एक ऑब्जर्वेबल बनाता है और असिंक्रोनस तरीके से एक विधि शुरू करता है। SelectMany संग्रह को समतल करता है और सब्सक्रिप्शन Buffer माध्यम से प्रत्येक 200 तत्वों को निकाल दिया जाता है।

int bufferSize = 200;

Observable
    .Start(() => GetData())
    .SelectMany(s => s)
    .Buffer(bufferSize)
    .ObserveOn(SynchronizationContext.Current)
    .Subscribe(items => 
    {
        Console.WriteLine("Loaded {0} elements", items.Count);
        
        // do something on the UI like incrementing a ProgressBar
    },
    () => Console.WriteLine("Completed loading"));


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow