小编phi*_*hil的帖子

OrderBy/ThenBy循环 - C#中的嵌套列表

我有一个嵌套列表,

List<List<String>> intable;
Run Code Online (Sandbox Code Playgroud)

在哪里我想对所有列进行排序.问题是列数取决于用户输入.

像这样排序列表工作正常(假设此示例为4列)

var tmp = intable.OrderBy(x => x[0]);
tmp = tmp.ThenBy(x => x[1]);
tmp = tmp.ThenBy(x => x[2]);
tmp = tmp.ThenBy(x => x[3]);
intable = tmp.ToList();
Run Code Online (Sandbox Code Playgroud)

但是,当我把它放在循环中时,像这样:

var tmp = intable.OrderBy(x => x[0]);
for (int i = 1; i <= 3; i++)
{
        tmp = tmp.ThenBy(x => x[i]);
}
intable = tmp.ToList();
Run Code Online (Sandbox Code Playgroud)

它不再正常工作,只排序第四列.

c# linq

14
推荐指数
1
解决办法
3645
查看次数

并行下载

我试图通过C#中的http实现文件的并行下载.我尝试了几种不同的方法,但它们似乎都没有正常工作.无论我做什么,下载最终都会排队,并且不能以真正的并行方式工作.

任何人都可以给我一些指示或链接到描述实际工作方法的文章吗?

c# task-parallel-library

4
推荐指数
1
解决办法
2507
查看次数

ninject - 使用工厂模式将泛型参数传递给装饰器链

尝试使用ninject将泛型参数传递给装饰器链时遇到了问题.也许最好用代码解释一下:

public interface IConnector
{
  void Connect();
}

public class CoreConnector : IConnector
{
  public void Connect()
  {
    Console.WriteLine("core connector");
  }
}

public class LoggingConnector : IConnector
{
  private readonly IConnector conn;
  private string id;
  public LoggingConnector(IConnector conn, string id)
  {
    this.conn = conn;
    this.id = id;
  }
  public void Connect()
  {
    Console.WriteLine("logging conn id : {0}",id);
    conn.Connect();
  }
}

public class AuditingConnector : IConnector
{
  private readonly IConnector conn;
  private string id;
  public AuditingConnector(IConnector conn, string id)
  {
    this.conn …
Run Code Online (Sandbox Code Playgroud)

c# factory ninject decorator

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

标签 统计

c# ×3

decorator ×1

factory ×1

linq ×1

ninject ×1

task-parallel-library ×1