问题列表 - 第19545页

LINQ中的OrderBy和Top具有良好的性能

从大型集合中获取前10条记录并使用自定义OrderBy的好方法是什么?如果我使用LINQ to Objects OrderBy方法,它会很慢并占用大量内存,因为它会使用新订单创建一个完整的新集合.我想要一个带有下面签名的新方法,它不会重新整理整个集合并且非常快:

public static IEnumerable<TSource> OrderByTop<TSource, TKey>(
    IEnumerable<TSource> source,
    Func<TSource, TKey> keySelector,
    IComparer<TKey> comparer,
    int topCount)
Run Code Online (Sandbox Code Playgroud)

我试着写它但它变得非常复杂,我想可能有更简单的方法使用Aggregate或其他东西.任何帮助,将不胜感激.

回答

谢谢您的帮助.我最终得到了以下代码:

public static List<TSource> OrderByTop<TSource, TKey>(
    this IEnumerable<TSource> source,
    Func<TSource, TKey> keySelector,
    IComparer<TKey> comparer,
    int topCount)
{
    var itemComparer = keySelector.ToIComparer(comparer);
    return source.Aggregate(
        new List<TSource>(topCount),
        (List<TSource> list, TSource item) =>
            list.SortedInsert(item, itemComparer, topCount));
}
Run Code Online (Sandbox Code Playgroud)

List Extension方法SortedInsert如下:

public static List<T> SortedInsert<T>(
    this List<T> list,
    T item,
    IComparer<T> comparer,
    int maxLength)
{
    if (list.Count == maxLength)
        if (comparer.Compare(item, list[maxLength - 1]) >= …
Run Code Online (Sandbox Code Playgroud)

c# linq performance linq-to-objects sql-order-by

12
推荐指数
1
解决办法
5489
查看次数

计算几何开源库

有谁知道用于计算几何的开源c#dll。

c# dll computational-geometry

5
推荐指数
1
解决办法
3257
查看次数

如何在ASP.NET MVC中定义此路由?

我有一个名为的控制器Movie,其中有一个名为的动作ByYear,它将年份作为参数:

    public ActionResult ByYear(int year)
    {
        ViewData["Title"] = string.Format("Movies released in {0}", year);
        var repository = MvcApplication.GetRepository();
        var movies = repository.Medias
                                .OfType<Movie>()
                                .Where(m => m.Year == year);
        return View("Index", movies);
    }
Run Code Online (Sandbox Code Playgroud)

我想使用以下URL访问此操作:/ Movie/ByYear/{year},但此操作的唯一有效路由是:/ Movie/ByYear?year = {year}.

我尝试在我的应用程序的RegisterRoutes方法中添加新路由,但我找不到获得所需结果的方法...

谁能告诉我如何实现这一目标?

注意:这实际上与这个问题非常相似,但没有接受答案,而且最高的投票答案对我来说没有任何意义,因为我对MVC完全不熟悉......

c# asp.net-mvc routes

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

Python/Django shell无法启动

Django的一个重要特性是你可以打开一个python解释器设置,用于你的项目.这可用于分析数据库中的对象,并允许在项目上执行任何python命令.我发现Django开发很重要.使用以下命令在项目目录中调用它:

$ python manage.py shell
Run Code Online (Sandbox Code Playgroud)

我刚开始开发一个新项目,由于某种原因,shell不起作用.我已经在线查看错误,但没有找到任何内容.我非常感谢有关此错误的任何帮助:


Traceback (most recent call last):
  File "manage.py", line 11, in 
    execute_manager(settings)
  File "/Library/Python/2.6/site-packages/django/core/management/__init__.py", line 362, in execute_manager
    utility.execute()
  File "/Library/Python/2.6/site-packages/django/core/management/__init__.py", line 303, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 195, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 222, in execute
    output = self.handle(*args, **options)
  File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 351, in handle
    return self.handle_noargs(**options)
  File "/Library/Python/2.6/site-packages/django/core/management/commands/shell.py", line 29, in handle_noargs
    shell = IPython.Shell.IPShell(argv=[])
AttributeError: 'module' object has no attribute 'Shell'
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助!

python django shell

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

在SQL Server中存储博客帖子的最佳数据类型是什么?

我正在使用SQL Server并编写一个blogtool.

我想存储超过4000个字符的文本,并希望它可以快速搜索.

ntext是否是正确的数据类型?

.net sql-server

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

适用于Mac OSX的SVN服务器

我以前在Windows上使用Visual SVN.现在我在Mac OSX上.

有没有人知道MAC OSX的SVN服务器在Windows上和Visual SVN一样容易使用?我不想输入控制台命令,我想要一个简单的用户界面:-)

干杯

svn macos

45
推荐指数
2
解决办法
6万
查看次数

使用变量变量时是否未创建$ _REQUEST?

请考虑以下代码片段:

图表A:

$_REQUEST = json_decode(stripslashes(json_encode($_REQUEST, JSON_HEX_APOS)), true);
Run Code Online (Sandbox Code Playgroud)

图表B:

${'_REQUEST'} = json_decode(stripslashes(json_encode(${'_REQUEST'}, JSON_HEX_APOS)), true);
Run Code Online (Sandbox Code Playgroud)

图表C:

${'_' . 'REQUEST'} = json_decode(stripslashes(json_encode(${'_' . 'REQUEST'}, JSON_HEX_APOS)), true);
Run Code Online (Sandbox Code Playgroud)

两个展览AB都完美地工作,展示C然而显示一个非常奇怪的错误信息:

注意:未定义的变量:_REQUEST

让它更奇怪的是,这只发生在$_REQUEST超全球,如果我尝试$_GET,$_POST$_COOKIE所有实验工作正常而不提出错误通知.

我猜这是一个PHP bug?我正在跑步PHP 5.3.0.

php

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

i18n和Date :: ABBR_DAYNAMES

嗨,我想在ita中翻译Date :: ABBR_DAYNAMES中的名字,所以我把它放在locales/it.yml中:

 date:
formats:
  default: "%d-%m-%Y"
  short: "%d %b"
  long: "%d %B %Y"

day_names: [Domenica, Lunedì, Martedì, Mercoledì, Giovedì, Venerdì, Sabato]
abbr_day_names: [Dom, Lun, Mar, Mer, Gio, Ven, Sab]
Run Code Online (Sandbox Code Playgroud)

在我看来,我尝试翻译一天但不起作用:

<%=t Date::ABBR_DAYNAMES %> 
Run Code Online (Sandbox Code Playgroud)

我能怎么做?

谢谢

ruby-on-rails internationalization

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

是__int32定义的?

gcc c89

我遇到了这段代码.

typedef __int32 int32_t;
typedef unsigned __int32 uint32_t;
typedef __int64 int64_t;
typedef unsigned __int32 uint64_t;
Run Code Online (Sandbox Code Playgroud)

我只是想知道那是__int32我不认为那是一种类型?为什么是下划线?

这是否意味着我可以做这样的事情?

typedef __int32 myInt32;
Run Code Online (Sandbox Code Playgroud)

非常感谢任何建议,

c

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

Sphinx - 何时对字段使用'has'和'indexes'

几天前我在我的ruby on rails 2.3.2上安装了Sphinx和Thinking-Sphinx,并且基本搜索效果很好.这意味着,没有任何条件.现在,我想用一些条件过滤搜索.

我有Announcement模型,索引如下:

  define_index do
    indexes title, :as => :title, :sortable => true
    indexes description, :as => :description, :sortable => true
  end
Run Code Online (Sandbox Code Playgroud)

也许我错了,但我注意到只有当我将:sortable => true语法添加到这些属性时,我才能在搜索中使用它们作为条件.否则它什么都找不到.

现在,我还使用acts_as_taggable_on插件,它生成了我的两个数据库表:标签和标签.我没有标签模型,我只是acts_as_taggable_on :tags, :categories在我的公告模型.

我现在要做的是按标签过滤.所以,我尝试添加到我的索引 has tags(:id), :as => :tag_ids没有运气,indexes tags(:id), :as => :tag_ids但也没有用.

我如何构建索引,以便我可以这样做:

Announcement.search 'some word', :conditions => {:tag_ids => some_id}
Run Code Online (Sandbox Code Playgroud)

而且,这之间的不同hasindexes

谢谢,Brian

ruby sphinx ruby-on-rails acts-as-taggable thinking-sphinx

5
推荐指数
1
解决办法
931
查看次数