问题列表 - 第12417页

如何维护LINQ延迟执行?

假设我有一个IQueryable<T>表达式,我想封装它的定义,存储它并重用它,或者稍后将它嵌入到更大的查询中.例如:

IQueryable<Foo> myQuery =
    from foo in blah.Foos
    where foo.Bar == bar
    select foo;
Run Code Online (Sandbox Code Playgroud)

现在我相信我可以保持myQuery对象并像我描述的那样使用它.但有些事情我不确定:

  1. 如何最好地参数化?最初我在一个方法中定义了这个,然后IQueryable<T>作为方法的结果返回.这样我就可以定义blahbar作为方法参数,我猜它IQueryable<T>每次都会创建一个新的.这是封装逻辑的最佳方法IQueryable<T>吗?还有其他方法吗?

  2. 如果我的查询解析为标量而不是IQueryable 例如,如果我希望此查询完全如所示,但附加.Any()只是让我知道是否有任何匹配的结果?如果我添加,(...).Any()则结果bool立即执行,对吧?有没有使用这些方式Queryable运营(Any,SindleOrDefault,等),但不立即执行?LINQ-to-SQL如何处理这个问题?

编辑:第2部分更多的是试图了解IQueryable<T>.Where(Expression<Func<T, bool>>)vs. 之间的限制差异IQueryable<T>.Any(Expression<Func<T, bool>>).在创建要延迟执行的大型查询时,似乎后者并不灵活.的Where()可以追加,然后在其它构建体可以稍后所附,然后最终执行.由于Any()返回标量值,因此它可以在构建其余查询之前立即执行.

c# linq iqueryable deferred-execution

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

SVN:设置标有"!"的所有文件 到"D"?

长话短说,出现了一个错误,现在我需要从我的存储库中删除几十个文件夹中的至少一百个文件.

现在他们都被标记为"!" 在svn状态,我想删除它们而无需手动输入svn remove blahblah.

有快速的方法吗?

svn repository

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

字符串拆分问题使用"*"

让我们说有一个字符串......

String myString =  "my*big*string*needs*parsing";
Run Code Online (Sandbox Code Playgroud)

我想要的是将字符串拆分为"my","big","string"等等.所以我试试

myString.split("*");
Run Code Online (Sandbox Code Playgroud)

返回java.util.regex.PatternSyntaxException:在索引0附近悬挂元字符'*'

* 是正则表达式中的一个特殊字符所以我尝试转义....

myString.split("\\*");
Run Code Online (Sandbox Code Playgroud)

同样的例外.我想有人会知道一个快速的解决方案.谢谢.

java regex string

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

如何获得第4和第5斜杠之间的网址?

请帮忙!

我在使用PHP.我有一个网址:' http : //example.com/articles/123a/view ',我怎么才能从这个带正则表达式的字符串中获取'123a'(可能是preg_replace).无法弄清楚.提前致谢.

php regex

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

这是Django formset验证中的错误吗?

手动示例: http://docs.djangoproject.com/en/1.0/topics/forms/formsets/#formset-validation(我正在使用Django 1.0.3在Google App Engine上运行)

码:

from django import forms
from django.forms.formsets import formset_factory

class ArticleForm1(forms.Form):
  title = forms.CharField()
  pub_date = forms.DateField()

class ArticleForm2(forms.Form):
  title = forms.CharField()

class ArticleForm3(forms.Form):
  title = forms.CharField()
  pub_date = forms.CharField()

ArticleFormSet1 = formset_factory(ArticleForm1)
ArticleFormSet2 = formset_factory(ArticleForm2)
ArticleFormSet3 = formset_factory(ArticleForm3)

data = {
 'form-TOTAL_FORMS': u'2',
 'form-INITIAL_FORMS': u'0',
 'form-0-title': u'',
 'form-0-pub_date': u'16 June 1904',
 'form-1-title': u'',                # <-- this title is missing but required
 'form-1-pub_date': u'16 June 1904', # <-- this date is missing but required …
Run Code Online (Sandbox Code Playgroud)

django validation django-forms formset

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

如何在Perl中规范化Windows文件路径?

更新:

我可以把这个问题解决成一个更简单的问题:

我想弄清楚正确的正则表达式是用两个反斜杠替换任何一次反斜杠的情况.

我想转此:

vlc.plugin.path = C:\Program Files\JekyllV0.9.2\\VLC_1.0.0\\plugins
Run Code Online (Sandbox Code Playgroud)

成:

vlc.plugin.path = C:\\Program Files\\JekyllV0.9.2\\VLC_1.0.0\\plugins
Run Code Online (Sandbox Code Playgroud)

原始问题:

我想使用Perl Regex在文件中更改以下内容:

  • 所有出现的单个反斜杠到两个反斜杠
  • 所有出现的单个正斜杠到两个反斜杠

我尝试了以下方法:

perl" -p -i.orig -e "s#\\#\\\\#g" -e "s#/#\\\\#g" %VIDEOLOG_PROPERTIES_FILE%
Run Code Online (Sandbox Code Playgroud)

%VIDEOLOG_PROPERTIES_FILE%包含的位置:

vlc.plugin.path = C:\Program Files\JekyllV0.9.2/VLC_1.0.0/plugins
Run Code Online (Sandbox Code Playgroud)

windows perl filepath backslash

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

Entity Framework如何使用递归层次结构?Include()似乎无法使用它

我有一个Item.Item有一个Category.

CategoryID,Name,ParentChildren.ParentChildrenCategory太.

当我为特定的LINQ to Entities查询时Item,它不返回相关的Category,除非我使用该Include("Category")方法.但它并没有带来父母和孩子的完整范畴.我能做到Include("Category.Parent"),但这个对象就像一棵树,我有一个递归的层次结构,我不知道它的结束.

如何让EF完全加载Category父项和子项,父项与父项和子项一起加载,依此类推?

这不适用于整个应用程序,出于性能考虑,仅需要此特定实体(类别).

c# entity-framework visual-studio-2008

69
推荐指数
5
解决办法
6万
查看次数

从单元格公式调用Excel 2007中用C#编写的方法

我正在使用Excel 2007.我有一个单独的二进制文件编写的C#代码.代码在类上使用静态类和静态方法.我在VSTO Excel工作表项目中引用了DLL.我需要添加或修改哪些才能使其正常工作?

我的C#代码如下所示:

using System;
using System.Collections.Generic;
using Microsoft.Office.Interop.Excel;
using System.Runtime.InteropServices;

namespace FooStatistics
{
    [ComVisible(true)]
    public static class Statistics
    {
        public static int Count(Range range)
        {
            return range.Count;
        }
Run Code Online (Sandbox Code Playgroud)

我希望能够将公式放入Excel单元格中,如下所示:

=FooStatistic.Statistic.Count(A1:A10)
Run Code Online (Sandbox Code Playgroud)

管他呢.

我已经看过这个,但它似乎是Excel 2003中的非静态类.我不相信整合现在还不是更好.

我已经看了很多关于StackOverflow的问题.它们似乎没有提供本机集成(很多人说,"使用X开源库"),并且不祥的是OP很多都不接受它们.我不是在寻找,"将它变成一个COM对象并从VBA调用它."

所以我在寻找:

  • Excel 2007
  • C#DLL中的代码
  • 从Excel单元格调用UDF
  • 原生整合

所以这是另一个StackOverflow链接,其中两个响应者说:

  • 据我所知,您无法在VSTO中直接创建UDF.
  • VSTO不支持创建Excel UDF.自动化加载项可以在.Net中创建,并且似乎是Microsoft批准的方式.

这是一个从2009年6月开始的问题.这是真的 - 在2009年你必须将你的.NET组件公开为COM服务器以获得可调用的Excel UDF吗?

c# excel vsto user-defined-functions

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

你如何获得队列中的第一个和最后一个项目?

假设我有一个滚动的值集合,我指定集合的​​大小,并且每当添加新值时,超出此指定大小的任何旧值都将被删除.显然(我已经测试了这个)用于此行为的最佳集合类型是队列:

myQueue.Enqueue(newValue)
If myQueue.Count > specifiedSize Then myQueue.Dequeue()
Run Code Online (Sandbox Code Playgroud)

但是,如果我想计算队列中第一个和最后一个项目之间的差异怎么办?显然我无法通过索引访问项目.但是,从队列切换到实现IList的东西看起来有点矫枉过正,就像写一个新的类Queue类一样.现在我有:

Dim firstValue As Integer = myQueue.Peek()
Dim lastValue As Integer = myQueue.ToArray()(myQueue.Count - 1)
Dim diff As Integer = lastValue - firstValue
Run Code Online (Sandbox Code Playgroud)

那个叫ToArray()我困扰的电话,但是一个更好的选择不会来找我.有什么建议?

.net c# vb.net queue collections

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

按编号确定信用卡类型?

信用卡类型可以仅通过信用卡号码确定吗?

这是推荐还是总是向客户询问他们使用的信用卡类型?

我用Google搜索并找到了这个算法:http://cuinl.tripod.com/Tips/o-1.htm,这可靠吗?

谢谢

credit-card e-commerce

67
推荐指数
6
解决办法
5万
查看次数