本文整理汇总了C#中System.Web.Script.Serialization.JavaScriptSerializer.SelectMany方法的典型用法代码示例。如果您正苦于以下问题:C# Script.Serialization.JavaScriptSerializer.SelectMany方法的具体用法?C# Script.Serialization.JavaScriptSerializer.SelectMany怎么用?C# Script.Serialization.JavaScriptSerializer.SelectMany使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Web.Script.Serialization.JavaScriptSerializer
的用法示例。
在下文中一共展示了Script.Serialization.JavaScriptSerializer.SelectMany方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetMovies
public List<Asset> GetMovies()
{
var settings = new RegSettings();
var aerialUrl = "http://a1.phobos.apple.com/us/r1000/000/Features/atv/AutumnResources/videos/entries.json";
WebClient webClient = new WebClient();
string ee = webClient.DownloadString(aerialUrl);
var urls = new JavaScriptSerializer().Deserialize<IdAsset[]>(ee);
// fetch local files
var downloadedFiles = new HashSet<string>(urls.SelectMany(s => s.assets).Select(a => a.url.Split('/').Last().ToLower()));
var localAssets = new List<Asset>();
foreach (var f in new DirectoryInfo(settings.CacheDir).EnumerateFiles())
{
var filename = Path.GetFileName(f.FullName).ToLower();
if (!downloadedFiles.Contains(filename))
{
localAssets.Add(new Asset() { accessibilityLabel = filename, filename = f.FullName, timeOfDay = "any", type = "video", id = filename });
}
}
if (localAssets.Count > 0)
{
var newUrls = urls.ToList();
newUrls.Add(new IdAsset() { id = "local", assets = localAssets.ToArray() });
urls = newUrls.ToArray();
}
var time = (DateTime.Now.Hour < 6 || DateTime.Now.Hour > 19) ? "night" : "day";
var ran = new Random();
var links = urls.SelectMany(s => s.assets)
.OrderBy(t => ran.Next())
// .Where(t => t.filename != null) // uncomment to use only local files
.OrderByDescending(t => settings.UseTimeOfDay && (t.timeOfDay == time || t.timeOfDay == "any"))
.ToList();
if (settings.DifferentMoviesOnDual)
return links;
if (cachedPlaylist == null)
cachedPlaylist = links;
return cachedPlaylist;
}
示例2: GetMovies
public List<Asset> GetMovies()
{
var settings = new RegSettings();
var aerialUrl = "http://a1.phobos.apple.com/us/r1000/000/Features/atv/AutumnResources/videos/entries.json";
WebClient webClient = new WebClient();
string ee = webClient.DownloadString(aerialUrl);
var urls = new JavaScriptSerializer().Deserialize<IdAsset[]>(ee);
var time = (DateTime.Now.Hour < 6 || DateTime.Now.Hour > 19) ? "night" : "day";
var ran = new Random();
var links = urls.SelectMany(s => s.assets)
.OrderBy(t => ran.Next())
.OrderByDescending(t => settings.UseTimeOfDay && t.timeOfDay == time)
.ToList();
if (settings.DifferentMoviesOnDual)
return links;
if (cachedPlaylist == null)
cachedPlaylist = links;
return cachedPlaylist;
}