本文整理汇总了C#中Controls.AsParallel方法的典型用法代码示例。如果您正苦于以下问题:C# Controls.AsParallel方法的具体用法?C# Controls.AsParallel怎么用?C# Controls.AsParallel使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Controls
的用法示例。
在下文中一共展示了Controls.AsParallel方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetSomeUrlsForHost
public static string[] GetSomeUrlsForHost(string host, Controls.UrlCollection Urls, int count = 0)
{
List<string> result = new List<string>();
try
{
List<string> fullResult = new List<string>();
fullResult.AddRange(
Urls
.AsParallel()
.Where(url => Helper.IsWellFormedUriString(url.Value, UriKind.Absolute) && StringLikes((new Uri(url.Value)).Host, host))
.Select(i => i.Value).ToArray()
.OrderBy(i => i)
);
if (count > 0 && count < fullResult.Count)
{
count = Math.Min(count, fullResult.Count);
if (count > 0)
result.Add(fullResult.First());
if (count > 1)
result.Add(fullResult.Last());
if (count > 2)
{
int step = (int)((float)fullResult.Count / (float)(count - 1));
for (int i = 1; i < count - 1; i++)
result.Add(fullResult[step * i]);
}
}
else
result.AddRange(fullResult);
}
catch (Exception ex)
{
Helpers.Old.Log.Add(ex, string.Format("Helper.GetSomeUrlsForHost(host:'{0}',count:'{1}')", host, count));
}
return result.OrderBy(i => i).ToArray();
}