小编Rez*_*ler的帖子

.Net TPL:具有任务优先级的有限并发级别任务调度程序?

我目前正在使用这里详细介绍的LimitedConcurrencyLevelTask​​Scheduler http://msdn.microsoft.com/en-us/library/ee789351.aspx

我想增强这一点,以便为个人任务分配优先权.这些优先级不需要映射到线程优先级.它应该只影响任务的启动顺序.

有谁知道这样一个任务调度程序的例子?(很多调度的东西都在我头上,所以如果有现有的解决方案会很棒)

.net c# task-parallel-library

18
推荐指数
1
解决办法
1万
查看次数

C#Generic Constraint - 如何引用当前类类型?

我有以下类/接口:

public abstract class AbstractBasePresenter<T> : IPresenter<T> 
    where T : class, IView
{
}

public interface IPresenter<T>
{
}

public interface IView<TV, TE, TP> : IView
    where TV : IViewModel
    where TE : IEditModel
    //where TP : AbstractBasePresenter<???>
{
}

public interface IView {}
Run Code Online (Sandbox Code Playgroud)

有什么方法可以限制TP在IView <>上的TP是一个继承自AbstractBasePresenter的类吗?

或者是我唯一的选择,创建一个非通用的IPresenter接口,然后更新IPresenter来实现它,然后使用检查"TP:IPresenter"?

谢谢

更新:

以下建议的答案不起作用:

public interface IView<TV, TE, TP> : IView
where TV : IViewModel
where TE : IEditModel
where TP : AbstractBasePresenter<IView<TV,TE,TP>>
{
}
Run Code Online (Sandbox Code Playgroud)

我将接口声明为:

public interface IInsuredDetailsView : IView<InsuredDetailsViewModel, InsuredDetailsEditModel, IInsuredDetailsPresenter>
{ …
Run Code Online (Sandbox Code Playgroud)

c# generics

11
推荐指数
1
解决办法
1488
查看次数

使用LINQ从List中选择"custom distinct"项

我有一个通用的Policy对象列表.

该列表包含以下数据

id  policyNumber   policySequence  otherData
1   101            1               aaaa
2   101            2               bbbb
3   101            3               cccc
4   102            1               dddd
5   103            1               eeee
6   103            2               ffff
Run Code Online (Sandbox Code Playgroud)

我想为每个policyNumber选择包含最高policySequence的一行,以便我最终得到以下结果:

id  policyNumber   policySequence  created
3   101            3               cccc
4   102            1               dddd
6   103            2               ffff
Run Code Online (Sandbox Code Playgroud)

我在下面使用foreach有一个解决方案,但是想知道在LINQ中是否有更简单,更清晰的方法来执行此操作?

class Program
    {
        static void Main(string[] args)
        {
            List<Policy> policyList = new List<Policy>
                                          {
                                              new Policy {id = 1, policyNumber = 101, policySequence = 1, otherData = "aaaa"},
                                              new Policy {id = …
Run Code Online (Sandbox Code Playgroud)

c# linq

3
推荐指数
1
解决办法
2377
查看次数

标签 统计

c# ×3

.net ×1

generics ×1

linq ×1

task-parallel-library ×1