我試圖在F#中使用Youtube .Net API,並遇到嘗試訪問返回給userPlaylists.Entries屬性的IEnumerable的問題。下面是我測試過的c#代碼,但是我似乎無法從f#中的IEnumerable集合中返回單個項目。在F中的IEnumerable中訪問項目#
Feed<Playlist> userPlaylists = request.GetPlaylistsFeed("username");
var p = userPlaylists.Entries.Single<Playlist>(x => x.Title == "playlistname");
條目解析爲IEnumerable<Playlist> Feed<PlayList>.Entries
IEnumerable的似乎被表示爲F#序列類型,但我似乎無法弄清楚如何恢復和正確類型的單個項目,最接近我得到的是:
let UserPlaylists = Request.GetPlaylistsFeed("username")
let pl = UserPlaylists.Entries |>
Seq.tryPick(fun x -> if x.Title="playlistname" then Some(x) else None)
然而,這似乎返回一個類型,而不是「播放列表」「播放列表選項」的。任何人都可以建議從IEnumerable檢索單個項目的正確方法?
你怎麼想如果在seq中找不到所需的項目,請執行操作嗎? – Brian 2011-05-17 23:10:43