小编Tim*_*lds的帖子

逻辑逆Func <T,bool>

我的代码库中有一些相当复杂的实体框架查询,我决定将逻辑集中到模型中.基本上,描绘了一堆控制器,它们在表达式树中有大量查询和大量重复代码.因此,我取出了部分表达树并将它们移动到模型中,从而减少了重复次数.

例如,假设我经常需要获取名为Entity的模型,这些模型处于Not Deleted状态.在我的实体模型上,我有:

public static Func<Entity, bool> IsNotDeleted = e =>
    e.Versions != null ?
        e.Versions.OrderByDescending(v => v.VersionDate).FirstOrDefault() != null ?
            e.Versions.OrderByDescending(v => v.VersionDate).First().ActivityType != VersionActivityType.Delete :
            false :
       false;
Run Code Online (Sandbox Code Playgroud)

(这是较小的示例之一,主要是在尝试检查数据之前检查有效数据.)

使用它看起来像:

var entities = EntityRepository.Entities.Where(Entity.IsNotDeleted).Where(...
Run Code Online (Sandbox Code Playgroud)

但是我发现,虽然有时候我想这是不会被删除的记录,其他时间我想要的记录删除.要做到这一点,有没有办法从消费代码中反转逻辑?概念上类似于此的东西(显然不起作用):

var entities = EntityRepository.Entities.Where(!Entity.IsDeleted).Where(...
Run Code Online (Sandbox Code Playgroud)

我宁愿不在Func<>物体上有两个,一个用于IsDeleted,另一个IsNotDeleted几乎相同.的Func<>回报bool,是否有语法把一个在当它调用它的逆.Where()条款?

c# linq func expression-trees linq-expressions

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

选择正确类型的变量C#

我想在小数点后创建pi超过16000个数字,但是problam是我找不到任何可以满足我意愿的类型.我尝试使用对象,但它在10之后将数字舍入我想使用字符串但字符串类型不能做减号或加号如果我将转换为int它将变成圆形.你知道我可以使用的任何其他类型或如何使用字符串工作,例如 http://files.extremeoverclocking.com/file.php?f=36这个程序能够计算多达3200万

日Thnx

c# string math variables pi

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

特别单身人士(如无)

我怎样才能制作一个特殊的单身人士None呢?(我是python的新手.)

我希望能够做到这一点:

def create_mutations(d):
    return [
        Mutation(c, v)
        if v is not CellAction.Delete else
        Mutation(c, isDelete=True)
        for (c, v) in d
        ]
Run Code Online (Sandbox Code Playgroud)

像这样使用:

create_mutations({'a': 5, 'b': None, 'c': CellAction.Delete})
Run Code Online (Sandbox Code Playgroud)

这将创建一个包含三个突变的列表,意思是"设置a5,设置bNone和删除" c.

关键是在create_mutations我不能使用的定义中,... if v is not None else ...因为"set bto None"和"delete b" 之间没有区别.

我可以澄清问题是否不清楚.

python

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

矩阵的平均行

我正在尝试用于mean(A,1)获取矩阵的平均行A,但出现错误。

例如,尝试运行命令mean(eye(3), 1)
这给出了错误no method mean(Array{Float64,2},Int32)

我可以mean在这里找到该函数的唯一文档:http :
//docs.julialang.org/en/release-0.1/stdlib/base/#statistics

mean(v[, region])
Run Code Online (Sandbox Code Playgroud)

计算整个数组的平均值v,或可选地沿 中的维度计算region

region参数是什么?

编辑:对于 Julia 0.7 及更高版本,将其写为mean(v, dims=1).

julia

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

获取非通用任务的结果

有没有办法得到a的结果,Task<T>当它被转发为非泛型Task?我知道这可以用Reflection做,但有没有办法在没有它的情况下做到这一点?也许是通过使用Expression?这是我想要做的一个例子:

RunResult RunTask(Task task)
{
    task.Wait();

    object result = ???;

    if (result is RunResult)
        return (RunResult)result;

    return RunResult.Success;
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过具有不同的重载来实现这一点,但我不喜欢行为根据选择的重载而改变.

如果任务没有结果,那么在这种情况下null就可以了.

.net c#

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

URL 中的下划线不适用于属性路由

Visual Studio 2013 IDE 中出现以下问题。部署到 IIS 时,它似乎可以正常工作。

我有一个如下所示的属性路由:

    [Route("SiteCode/{sites:alpha?}")] 
Run Code Online (Sandbox Code Playgroud)

当我请求 /SiteCode 时,它​​工作正常。当我包含一个参数(例如 /SiteCode/something)时,它也能正常工作。但是,当 URL 为 /SiteCode/some_thing 时,它找不到控制器并且我收到 404。

这个在 SiteCodes 参数中使用下划线:

[Route("Performance/{CountryIDs?}/{StateIDs?}/{SiteCodes?}/{Titles?}/{StartDate:datetime?}/{EndDate:datetime?}")]
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

asp.net-mvc asp.net-mvc-5.1

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

CompositeDisposable-确定性顺序?

此问题引用名称空间中的CompositeDisposableSystem.Reactive.Disposables

对其成员进行CompositeDisposable呼叫的顺序是否Dispose确定?

以下实验产生了list ['a', 'b'],但是我在文档中看不到保证一定顺序的任何东西。

var result = new List<char>();
var disposable = new CompositeDisposable(
    Disposable.Create(() => result.Add('a')),
    Disposable.Create(() => result.Add('b')));
disposable.Dispose();
Run Code Online (Sandbox Code Playgroud)

.net c# system.reactive

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

我应该如何存储和计算二进制代码之间的汉明距离?

  1. 如何有效存储二进制代码?对于某些固定大小,例如32位,可以使用原始类型.但是如果我的二进制代码要长得多呢?

  2. 计算两个二进制代码之间汉明距离的最快方法是什么?

c++ math hash hamming-distance

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

我可以在Vert.x HTTP请求队列上设置容量吗?

我已经用Java编写了Vert.x HTTP服务器。当客户端发送请求的速度快于服务器处理请求的速度时,服务器端请求队列将缓慢填满。最终,由于所有累积的请求,JVM耗尽了内存。

我可以在Vert.x请求队列上设置容量吗?

我想设置以下一项或多项:

  • 排队请求的最大数量
  • 所有排队请求的最大大小(以字节为单位)

当传入请求违反了这些限制中的任何一个时,我想立即以响应503 Service Unavailable

java http vert.x

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

为什么这在C#中不合法?

这不起作用

public class Foo {
    private int X { get; }

    public Foo(string s) {
        int.TryParse(s, out X);
    }
}
Run Code Online (Sandbox Code Playgroud)

但这有效:

public class Foo {
    private int X { get; }

    public Foo(string s) {
        int x;
        int.TryParse(s, out x);
        X = x;
    }
}
Run Code Online (Sandbox Code Playgroud)

两者之间有什么区别,因为out参数不需要初始化.为什么属性不能作为out参数传递?

c# c#-6.0

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