作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将 AsParallell()
与 AsOrdered()
方法一起使用,但我总是看到无序的结果。
using System;
using System.Linq;
using System.Collections.Generic;
namespace Parallel
{
class MainClass
{
public static void Main(string[] args)
{
List<String> cities = new List<String>() {
"Barcelona",
"Valencia",
"Sevilla",
"Zaragoza",
"Málaga",
"Murcia",
"Palma",
"Las Palmas de Gran Canaria",
"Alicante",
"Madrid",
"Córdoba",
"Valladolid",
"Tarrasa",
"Vigo",
"Gijón",
"Cartagena",
"Hospitalet de Llobregat",
"Vitoria",
"La Coruña",
"Granada",
"Elche",
"Oviedo",
"Badalona"
};
var filtered = cities.AsParallel().AsOrdered().Where(c => c.ToUpper().StartsWith("B") || c.ToUpper().EndsWith("A")).ToArray();
Console.WriteLine("Cities starting with \"B\" or ends with \"A\"");
foreach (String city in filtered)
{
Console.WriteLine(city);
}
}
}
}
输出是:
Cities starting with "B" or ends with "A"BarcelonaValenciaSevillaZaragozaMálagaMurciaPalmaLas Palmas de Gran CanariaCórdobaTarrasaCartagenaVitoriaLa CoruñaGranadaBadalonaPress any key to continue...
怎么了?
我在 Mac 中使用 Visual Studio,Net Core 项目。
谢谢
最佳答案
AsOrdered()
只维护 List<string>
中项目的原始顺序.如果您想按字母顺序排列项目,您可以使用 OrderBy
方法:
var filtered = cities.AsParallel().Where(c => c.ToUpper().StartsWith("B") || c.ToUpper().EndsWith("A")).OrderBy(x => x).ToArray();
关于c# - AsOrdered() 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42191179/
我正在尝试将 AsParallell() 与 AsOrdered() 方法一起使用,但我总是看到无序的结果。 using System; using System.Linq; using System
我编写了一些基本示例代码来熟悉 PLINQ。 我遇到了一些奇怪的事情。不知道是我代码的错误还是我对PLINQ的理解有误。 MSDN 文档指出添加 AsOrdered() 将保留调用顺序,但可能会降低性
我似乎无法理解 AsSequential 和 AsOrdered 之间的区别。我已经在 msdn 上查找了其中每一个的文档,并在互联网上搜索了示例,但我只是一个简单的鞋匠,我无法明确地理解发生了什么。
我是一名优秀的程序员,十分优秀!