异步并行下载文件

编辑 我已经改变了问题的标题,以反映我的问题,但也回答了如何轻松实现这一目标。 我试图让第二种方法返回Task而不是第一种方法中的Task ,但是由于尝试修复它,我得到了一连串的错误。 我在await body(partition.Current);之前添加了return await body(partition.Current); 反过来它要求我在下面添加一个return语句,所以我在下面添加了return null 但是现在select语句抱怨它无法从查询中推断出类型参数 我将Task.Run更改为Task.Run但没有成功。 我该如何解决? 第一种方法来自http://blogs.msdn.com/b/pfxteam/archive/2012/03/05/10278165.aspx ,第二种方法是我正在尝试创建的重载。 public static class Extensions { public static Task ForEachAsync(this IEnumerable source, int dop, Func body) { return Task.WhenAll( from partition in Partitioner.Create(source).GetPartitions(dop) select Task.Run(async delegate { using (partition) while (partition.MoveNext()) await body(partition.Current); })); } public static Task ForEachAsync(this IEnumerable source, […]

如何在c#中只编译一个文件?

在VC ++中,我可以按CTRL + F7编译单个文件,或者右键单击源文件或编译它。 是否可以在C#中编译单个文件(或当前文件)? 我想知道我的当前文件是否有任何错误,而无需编译所有内容。

现有的LINQ扩展方法类似于Parallel.For?

可能重复: LINQ相当于foren for IEnumerable forienumerable的linq扩展方法非常方便……但如果您只想对枚举中的每个项目应用一些计算而不返回任何内容,则无用。 所以我想知道我是否只是错过了正确的方法,或者它是否真的不存在,因为我宁愿使用内置版本,如果它可用……但我还没找到一个:-) 我可以发誓在某处有一个.ForEach方法,但我还没有找到它。 与此同时,我确实编写了自己的版本,以防它对其他人有用: using System.Collections; using System.Collections.Generic; public delegate void Function(T item); public delegate void Function(object item); public static class EnumerableExtensions { public static void For(this IEnumerable enumerable, Function func) { foreach (object item in enumerable) { func(item); } } public static void For(this IEnumerable enumerable, Function func) { foreach […]

WPF MVVM:将不同的ViewModel绑定到每个TabItem?

我有一个主窗口,其中包含一个包含2个tabItem的选项卡控件: 我目前有一个ViewModel ,它为Tab1和Tab2提供服务。 这个ViewModel变得有点臃肿,SOC模糊。 我想将逻辑拆分为2个视图模型:ViewModel 1和ViewModel2。 我的理解是你可以将主窗口DataContext设置为一个包含ViewModel集合的Base ViewModel,然后你可以将每个TabItem断言为另一个ViewModel。 我见过的这些基本ViewModel示例公开了一个ObservableCOllection,如下所示: private ObservableCollection _viewModelCollection Public Observable Collection ViewModelCollection { get { return _viewModelCollection; } set { _viewModelCollection = value; OnPropertyChanged(“ViewModelCollection”); } } public BaseViewModel() { ViewModelCollection = new ObservableCollection(); ViewModelCollection.Add(new ViewModel1(Tab1); ViewModelCollection.Add(new ViewModel1(Tab2); } 但是如何为每个TabItem分配不同的ViewModel? 我想要Tab1 = ViewModel1&Tab2 = ViewModel2?

计算GPS坐标以形成给定大小的半径

我想出了一个方法,它采用坐标和范围(以英里为单位)并返回一个围绕原点形成圆的坐标列表。 我似乎已经取得了一些进展,但我有一个问题,让范围部分下降。 private const Double LAT_MILE = 0.0144839; private const Double LONG_MILE = 0.0190693; public static List GetRadius(Double OriginLatitude, Double OriginLongitude, Double Range, int Points) { List Result = new List(); //insert a new point for (int i = 0; i < Points; i++) { Result.Add(new Gps.Coordinate() { Latitude = ((Range * LAT_MILE) * System.Math.Cos(i)) […]

C#foreach vs functional各

您更喜欢哪一种? foreach(var zombie in zombies) { zombie.ShuffleTowardsSurvivors(); zombie.EatNearbyBrains(); } 要么 zombies.Each(zombie => { zombie.ShuffleTowardsSurvivors(); zombie.EatNearbyBrains(); });

‘最近邻’缩放

当我绘制拉伸的Texture2D ,像素会获得类似模糊的效果。 我想在我的游戏中使用’像素化’图形,并想知道如何禁用这个以支持最简单的最近邻居缩放。 我已创建此图片以供说明:(x4 zoom) 我能以什么方式实现这一目标?

在没有指定T的情况下模拟Moq中的generics方法

我有一个方法的接口如下: public interface IRepo { IA Reserve(); } 我想模拟包含此方法的类,而不必为它可用于的每种类型指定安装方法。 理想情况下,我只是希望它返回一个new mock.Object 。 我该如何实现这一目标? 看来我的解释还不清楚。 这是一个例子 – 当我指定T(这里是字符串)时,这是可能的: [TestMethod] public void ExampleTest() { var mock = new Mock(); mock.Setup(pa => pa.Reserve()).Returns(new Mock<IA>().Object); } 我想要实现的是这样的: [TestMethod] public void ExampleTest() { var mock = new Mock(); mock.Setup(pa => pa.Reserve()).Returns(new Mock<IA>().Object); // of course T doesn’t exist here. But […]

SQL:如果存在记录列表,则返回“true”?

另一个标题可能是:检查是否存在多行? 使用SQL和C#的组合,如果列表中的所有产品都存在于表中,我希望方法返回true。 如果它可以在SQL中完成,那将是更好的选择。 我编写了一个方法,使用以下SQL返回是否存在单个productID : SELECT productID FROM Products WHERE ProductID = @productID 如果返回一行,则c#方法返回true,否则返回false。 现在我想知道我是否有一个产品ID清单(不是一个很大的清单,通常在20岁以下)。 如果所有产品ID都存在则如何编写将返回一行的查询,如果一个或多个产品ID不存在则如何不返回行? (Maybe something involving “IN” like: SELECT * FROM Products WHERE ProductID IN (‘1′, ’10’, ‘100’, ‘ABC’)) 编辑: 如何表达结果对我来说并不重要。 无论查询返回1还是0 ,空结果集还是非空结果集,true或false都无关紧要。 我更喜欢这样的答案:1)易于阅读和理解,2)高效 我想要将产品ID列表与SQL连接起来。 显然这会打开SQL注入代码(产品ID实际上是varchar 。在这种情况下,机会很小但仍然希望避免这种可能性)。 因此,如果有办法解决这个问题会更好。 使用SQL Server 2005。 产品ID是varchar

购物车和订单中的折扣策略

我正在尝试实施一个系统,可以处理应用于我的购物车/已完成订单的多个折扣。 我已应用策略类型模式来封装折扣中的折扣处理。 我提出了以下内容:一个抽象的折扣基类,其子类构成了具体的折扣。 然后将这些应用于订单/购物车对象,并在添加到购物车/订单时处理订单/购物车的内容。 会喜欢附加代码的一些评论。 各种受保护的构造函数和成员标记为nhibernate所需的“虚拟”。 CHEV using System; using System.Collections.Generic; using System.Linq; using NUnit.Framework; namespace CodeCollective.RaceFace.DiscountEngine { [TestFixture] public class TestAll { #region Tests [Test] public void Can_Add_Items_To_Cart() { Cart cart = LoadCart(); // display the cart contents foreach (LineItem lineItem in cart.LineItems) { Console.WriteLine(“Product: {0}\t Price: {1:c}\t Quantity: {2} \t Subtotal: {4:c} \t […]