亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在.NET反應性框架中怎么實現LINQ

發布時間:2021-07-15 15:02:47 來源:億速云 閱讀:108 作者:chen 欄目:編程語言

本篇內容介紹了“在.NET反應性框架中怎么實現LINQ”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

反應性編程和.NET反應性框架并不是新事物。它早已經為Cells(一種Common Lisp的數據流擴展),和支持高階反應性編程的Python擴展Trellis所應用。在C#中,程序員在指定異步操作指定回調,或事件處理程序的時候使用反應性編程。在異步操作完成或者事件觸發的時候,就會調用方法并作為對該事件的反應。

在.NET反應性框架中,LINQ to Object使用IEnumerable和IEnumerator兩個接口來迭代數據集。枚舉器的MoveNext()方法用于從前一個元素枚舉到下一個元素,而Current屬性則用于檢索個別的元素。這種機制采取廣泛使用的簡潔易懂的“拉(pull)”過程。Erik還發現IEnumerable有對偶特性:一個是可以從集合中提取數據,同時可以把數據推進同樣的集合。這意味著另一種反應性編程的方式。

理論上來說,IEnumerable接口可對集合添加對象,但是由于它的阻塞性所以不能在異步操作中進行。那就是為什么該團隊引入了兩個新的接口:IObservable和IObserver。人們可以把IObserver賦給數據集并把它作為IObservable訂閱。當一項新的數據可用時,就可以通過傳遞IObservable來把它壓進集合,接著再傳給IObserver。微軟展示平臺控件小組的開發人員Jafar Husain解釋IObserver模式的使用方法如下:

要遍歷IObservable,你需要做的就是執行與IEnumerable相反的操作。創建IObserver,把它賦給IObservable,接著IObservable通過調用自身的方法來把數據壓進IObserver。在IObservable對Observer調用OnUpdate方法的時候,就相當于IEnumerable方法使用關鍵字yield向IEnumerable傳遞信息。類似地,在IObservable對Observer調用OnCompleted方法的時候,就相當于IEnumerable使用關鍵字break來表示沒有數據一樣。

這樣做的好處是什么呢?這種方法在處理事件的時候有著極大的優勢。我們可以把IObserver附加到鼠標事件并對這些事件異步記錄到一個集合當中。接著就可以使用LINQ來迭代數據,并進行相應的處理。要說明它在處理GUI事件的威力,Rx框架已經在Silverlight Toolkit單元測試中使用,并包含源代碼,封裝在System.Reactive.dll中。這也將會包含在.NET 4.0。

軟件架構師和天文物理學家Brian Beckman在視頻采訪Erik Meijer時,證實了IObservable是連續的Monad,即IEnumerable Monad的對偶性。Erik也介紹了如何通過二元化IEnumerable來構建IObservable 接口。

“在.NET反應性框架中怎么實現LINQ”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大同县| 长春市| 沁阳市| 呼图壁县| 滦平县| 商水县| 罗山县| 剑川县| 车致| 红桥区| 仁怀市| 云安县| 潞城市| 哈尔滨市| 商丘市| 莒南县| 柞水县| 肃北| 陆良县| 阜康市| 辉县市| 潞西市| 迁西县| 昌乐县| 贵定县| 华亭县| 增城市| 朝阳市| 石柱| 衡山县| 大丰市| 呈贡县| 芜湖市| 加查县| 濉溪县| 都江堰市| 淄博市| 陇川县| 西乌珠穆沁旗| 琼结县| 油尖旺区|