问题列表 - 第45172页

LINQ(对象),在同一个IEnumerable上运行几个查询?

是否有可能在同一个IEnumerable上链接几个LINQ查询?

一些背景,

我有一些文件,大小为20-50Gb,它们不适合内存.有些代码会解析来自这样一个文件的消息,基本上可以:

 public IEnumerable<Record> ReadRecordsFromStream(Stream inStream) {
            Record msg;
            while ((msg = ReadRecord(inStream)) != null) {
                yield return msg;
            }
        }
Run Code Online (Sandbox Code Playgroud)

这允许我对记录执行有趣的查询.例如,找到记录的平均持续时间

 var records = ReadRecordsFromStream(stream);
 var avg = records.Average(x => x.Duration);
Run Code Online (Sandbox Code Playgroud)

或者也许是每小时/分钟的记录数

var x = from t in records 
    group t by t.Time.Hour + ":" + t.Time.Minute into g
    select new { Period = g.Key, Frequency = g.Count() };
Run Code Online (Sandbox Code Playgroud)

还有十几个我想运行的查询来从这些记录中提取相关信息.一些简单的查询当然可以组合在一个查询中,但这似乎很快就变得难以置信.

现在,每次运行这些查询时,我都必须从头开始读取文件,重新编写所有记录 - 解析20Gb文件20次需要花费时间,这是浪费.

我能做些什么才能只对文件进行一次传递,但对它运行几个linq查询?

c# linq

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

使用bash在文本文件中提取2个标记之间的行

我有一个文本文件,如下所示:

random useless text 
<!-- this is token 1 --> 
para1 
para2 
para3 
<!-- this is token 2 --> 
random useless text again
Run Code Online (Sandbox Code Playgroud)

我想在令牌之间提取文本(当然不包括令牌).我尝试使用##和%%来提取数据,但它不起作用.我认为它不适用于操纵如此大的文本文件.有什么建议我怎么做?也许awk或sed?

bash

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

如何修复StyleCop SA1305(匈牙利语)的违规行为

我的代码包含一个名为"m_d3dDevice"的变量.

StyleCop抱怨这个名字:

SA1305:变量名称'm_d3dDevice'以类似匈牙利表示法的前缀开头.删除前缀或将其添加到允许的前缀列表中.

(注意我手动禁用了SA1308("m_"),这是我愿意不服从的少数规则之一.)

我不能允许"d3d"作为匈牙利标签中的例外,因为它只允许1或2个字符前缀,并且允许"d3"没有帮助.我已经尝试了我能想到的所有内容,将"d3d"添加到我的CustomDictionary文件中(无论如何,文档暗示CustomDict不用于规则1305).

有什么建议使StyleCop允许这个吗?现在不需要F2我的变量是一件值得骄傲的事.

stylecop hungarian-notation

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

C#Action <T>,传递函数作为参数

我想将一个条件作为Action传递给另一个方法."ComputerPriceGenerator"中的第一行有效,但如何使数组工作(第二行)?任何想法

我正在寻找建议......,CalculateAllPrice尚未设计

public void ComputerPriceGenerator()
{
    //Below line Works
    PriceMachine.CalculatePrice(cart.Computers[0],() => ComputerConverter(cart.Computers[0]));           
    //How to make this work, i don't want to loop it???
    PriceMachine.CalculateAllPrice(cart.Computers,() => ComputerConverter(??));
}

public void ComputerConverter(Computer comp)
{
    if (comp.Memory <= 2)
        comp.Discount = 10;
}
Run Code Online (Sandbox Code Playgroud)

c#

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

芹菜(Django)限速

我正在使用Celery来处理多个数据挖掘任务.这些任务之一连接到远程服务,它允许最多10个同时连接每个用户(或者换句话说,它CAN超过10个连接全球,但它CAN NOT超过每个人工作10个连接).

认为 Token Bucket(速率限制)是我正在寻找的,但我似乎无法找到它的任何实现.

amqp rabbitmq celery carrot

9
推荐指数
2
解决办法
7032
查看次数

HTML/CSS/JS:隐形表单是否可以拦截(劫持)用户输入?

我听到有人提到理论上可以在内容之上放置一个不可见的iframe,并接收某人想要放入表单的输入.这怎么可能而且不会引起怀疑?吓到我了...

html javascript css security iframe

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

PL/SQL中"/"做什么?

我查看了一些PL/SQL代码,我在脚本中遇到了以下内容:

/
SHOW error

grant execute on someName1 to someName2;

/
SHOW error
Run Code Online (Sandbox Code Playgroud)

查看PL/SQL的文档我无法找到/解释的内容.

任何人都可以开导我吗?

  • 更新:我在SQL Developer for Mac中打开了包含此脚本的文件.编译它会给出错误"遇到符号'/'".这些斜线应该删除吗?

sql plsql plsqldeveloper

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

在SQL中,如何执行"减法"操作?

假设我有两个表,它们都有用户ID.我想执行一个操作,它将返回表1中不在表2中的所有用户IDS.我知道必须有一些简单的方法来执行此操作 - 任何人都可以提供一些帮助吗?

sql database relational-algebra

4
推荐指数
2
解决办法
3385
查看次数

部署到Program Files目录

我开发了一个C#应用程序,我想将它部署到该C:\Program Files\Company Name\Product文件夹.我没有看到在目标计算机上创建的"公司名称"文件夹.

我将文件从"已发布"目录复制到记忆棒(拇指驱动器)上.我将记忆棒带到Windows NT机器并双击setup.exe.应用程序已安装,因为它出现在*开始菜单中.我不知道实际目的地在哪里.我知道它不在C:\Program Files\Company Name\Product文件夹中.

我使用的是MS Visual C#2008 Express Edition版本3.5 SP1.本产品使用严格限制的ClickOnce安装程序.不幸的是,这是我给予的工作.

如何告诉C#express将我的应用程序部署到该C:\Program Files\Company Name\Product文件夹中?

很抱歉,如果这是重复的,因为我很难搜索有关此问题的任何信息.

注意:我正在64位Windows 7平台上开发.

编辑:
我在"程序集信息"对话框中填写了标题,公司,产品,版权,版本和GUID字段.公司名称是两个单词之间的空格.这个空间会造成问题吗?

c# deployment clickonce publishing visual-c#-express-2010

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

通过TortoiseHg Mercurial - 合并一个命名分支然后关闭它

我有一个命名分支,NewFeature,我从默认分支.我已经对该分支进行了一些提交,现在我想将它合并以重新加入默认分支.

现在(每个字母都是提交):

   default: A---B
NewFeature:      \--C---D
Run Code Online (Sandbox Code Playgroud)

我想要的是什么:

   default: A---B-----------E
NewFeature:      \--C---D--/
Run Code Online (Sandbox Code Playgroud)

我试图右键单击目录并选择"Hg Commit ...".然后我选择了"关闭当前命名的分支".我收到了这个错误:abort: can only close branch heads

我还在存储库资源管理器中查找了"close branch"选项,但我找不到任何东西.

有人可以帮忙吗?提前致谢!

编辑:我向TortoiseHg 发布了一个问题

mercurial tortoisehg

32
推荐指数
3
解决办法
2万
查看次数