问题列表 - 第12397页

具有相似性/亲和力的C#搜索

假设我们有一个IEnumerable Collection拥有20 000个Person对象的项目.然后假设我们创建了另一个Person对象.

我们希望列出重新组合此人的所有人员.这意味着,例如,如果Surname 亲缘关系超过90%,请将该Person添加到列表中.

例如("安德鲁"vs"安德鲁")

这样做最有效/最快捷的方法是什么?

迭代集合并将char与char进行比较并进行亲和力测定?要么?有任何想法吗?

谢谢!

c# collections search

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

UML类模型如何建模多对多关系

我已经阅读了几个关于UML模型应该包含什么以及什么不包含的教程.作为开发人员,我总是从关系数据模型的角度思考,在这种模型中,表之间永远不会有多对多的关系.现在有了一个UML类模型,我读过如果它们没有提供附加值,你可以跳过链接表.

然而,我还阅读了一个教程,其中给出了使用表内数据的示例,强烈建议在为类模型建模时将每个类描述为一个简单的表.

我很困惑,现在是什么?!

uml many-to-many analysis

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

动态LINQ集合?

我有一个项目要求我做这么大的搜索引擎,但这一切都是动态的.我的意思是我可以拥有大约0到9个主要的"组",这些组内部的东西就像是"无论是""或"与"或"的无限可能性.我们首先想到的是使用Dynamic Linq,它提供了构建动态查询的良好替代方案.所有这些都使用EF和自制包装.

问题:我无法访问"收藏".我的意思是,我可以伊斯利访问引用的对象(像Customer.State.StateName ="新纽约" OR Custoemr.State.StateName ="魁北克"),但我无法找到一个方法来存取权限是这样的:" Customer.Orders.OrderID = 2 OR Customer.Orders.OrderID = 3".我可以很容易地弄清楚这是因为它是一个集合,但我怎么能这样做呢?

请帮帮我!!

**对不起我的英语不好 !!


更新

我不清楚我是否愿意,对不起因为我是法国人......

我的问题是因为没有什么是静态的.它是一个候选人搜索引擎,用于将候选人放入企业的重新制定的公司.在经理可以搜索候选人的页面中,他可以通过以下方式"解析":域名(工作),城市或其他许多用户在注册时填写的内容.所有这些格式(如果它在SQL中):

[...] WHERE(domaine.domainID = 3 OR domaine.domainID = 5 OR domaine.domainID = 23)AND(cities.cityID = 4,cities.city = 32)[...]

所以我不能用普通的LINQ格式做到这一点,如:

Candidat.Domaines.Where(domain => domain.DomainID == 3 || domain.DomainID == 5 || domain.DomainID == 23);
Run Code Online (Sandbox Code Playgroud)

即使是paretheses中的运算符也是动态的("AND"或"OR")!这就是我们尝试使用Dynamic Linq的原因,因为它更灵活.

希望它更容易理解我的问题......


更新2 这是我的方法

private string BuildDomainsWhereClause() {
        StringBuilder theWhere = new StringBuilder();

        if (this.Domaines.NumberOfIDs > 0) {
            theWhere.Append("( ");

            theWhere.Append(string.Format("Domaines.Where( "));
            foreach (int …
Run Code Online (Sandbox Code Playgroud)

c# asp.net entity-framework dynamic-linq

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

抛出异常时是否释放内存?

我正在与一些同事讨论在动态分配的类中抛出异常时会发生什么.我知道malloc被调用,然后是类的构造函数.构造函数永远不会返回,所以会发生什么malloc

请考虑以下示例:

class B
{
public:
    B()
    {
        cout << "B::B()" << endl;
        throw "B::exception";
    }

    ~B()
    {
        cout << "B::~B()" << endl;          
    }
};

void main()
{
    B *o = 0;
    try
    {
        o = new B;
    }
    catch(const char *)
    {
        cout << "ouch!" << endl;
    }
}
Run Code Online (Sandbox Code Playgroud)

malloced内存会发生什么o,它会泄漏吗?CRT是否捕获构造函数的异常并释放内存?

干杯!
丰富

c++ constructor exception handler

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

发送保存在磁盘上的eml文件

我正在创建eml并使用此处提到的过程将它们保存到目录中.我想知道如何发送这些eml文件?我尝试使用SMTPClient类的对象,但它将MailMessage对象作为其参数,我无法找到并使用这些保存的eml文件创建MailMessage类型的对象.

c# email smtp eml

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

由于使用事件导致的开销

我有一个自定义线程池类,它创建一些线程,每个线程等待自己的事件(信号).将新作业添加到线程池时,它会唤醒第一个空闲线程,以便它执行该作业.

问题如下:我有大约1000个循环,每个循环大约10'000次迭代.这些循环必须按顺序执行,但我有4个CPU可用.我尝试做的是将10'000次迭代循环分成4个2'500次迭代循环,即每个线程一次.但是我必须等待4个小循环才能完成下一个"大"迭代.这意味着我无法捆绑作业.

我的问题是使用线程池和4个线程比顺序执行作业要慢得多(由一个单独的线程执行一个循环比直接在主线程中顺序执行它要慢得多).

我在Windows上,所以我创建事件,CreateEvent()然后等待其中一个使用,WaitForMultipleObjects(2, handles, false, INFINITE)直到主线程调用SetEvent().

似乎整个事件(以及使用关键部分的线程之间的同步)非常昂贵!

我的问题是:使用事件花费"很多"时间是否正常?如果是这样,我可以使用另一种机制,而且时间更便宜吗?

下面是一些代码来说明(从我的线程池类复制的一些相关部分):

// thread function
unsigned __stdcall ThreadPool::threadFunction(void* params) {
    // some housekeeping
    HANDLE signals[2];
    signals[0] = waitSignal;
    signals[1] = endSignal;

    do {
        // wait for one of the signals
        waitResult = WaitForMultipleObjects(2, signals, false, INFINITE);

        // try to get the next job parameters;
        if (tp->getNextJob(threadId, data)) {
            // execute job
            void* output = jobFunc(data.params);

            // tell thread pool that we're done and collect output
            tp->collectOutput(data.ID, …
Run Code Online (Sandbox Code Playgroud)

c++ events multithreading synchronization overhead

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

使用XSLT插入值

我有一个标签,需要在我的XSLT中为它的属性赋值

<?xml version="1.0" encoding="UTF-8" ?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">     
  <xsl:template match="/"> 
Run Code Online (Sandbox Code Playgroud)

我需要为trId属性赋值,但是我现在的方式不起作用,这样做的正确方法是什么?

<ABX trId="<xsl:value-of select="CODE_VALUE"/>">


  </xsl:template>    
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

xslt

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

为什么使用序列比在此示例中使用列表慢得多

背景:我有一系列连续的,带时间戳的数据.数据序列中有孔,有些大,有些只有一个缺失值.
每当孔只是一个缺失值时,我想使用虚拟值修补孔(较大的孔将被忽略).

我想使用延迟生成修补序列,因此我使用Seq.unfold.

我已经制作了两个版本的方法来修补数据中的漏洞.

第一个消耗带有孔的数据序列并产生修补序列.这就是我想要的,但是当输入序列中的元素数量超过1000时,方法运行得非常慢,并且输入序列包含的元素越多,它就会越来越差.

第二种方法使用带有孔的数据列表并生成修补序列并且运行速度很快.然而,这不是我想要的,因为这会强制整个输入列表在内存中的实例化.

我想使用(sequence - > sequence)方法而不是(list - > sequence)方法,以避免在内存中同时存在整个输入列表.

问题:

1)为什么第一种方法如此缓慢(使用较大的输入列表逐渐变得更糟)(我怀疑它与使用Seq.skip 1重复创建新序列有关,但我不确定)

2)如何使用输入序列而不是输入列表快速修补数据中的空洞?

代码:

open System

// Method 1 (Slow)
let insertDummyValuesWhereASingleValueIsMissing1 (timeBetweenContiguousValues : TimeSpan) (values : seq<(DateTime * float)>) =
    let sizeOfHolesToPatch = timeBetweenContiguousValues.Add timeBetweenContiguousValues // Only insert dummy-values when the gap is twice the normal
    (None, values) |> Seq.unfold (fun (prevValue, restOfValues) ->  
        if restOfValues |> Seq.isEmpty then
            None // Reached the …
Run Code Online (Sandbox Code Playgroud)

performance f# yield lazy-evaluation seq.unfold

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

在DotNetNuke门户中更改favicon

我正在管理几个DotNetNuke门户(以及主要托管本身).所有门户网站在地址中都有默认的DNN图标,当它们被加入书签时.我想要一个自定义的图标.

这是左侧的图标: DNN图标http://www.dotnetnuke.com/Portals/25/SystemAvatar/_thumbs/dnn_pt_xml_130x49_border.gif

我试过破解根目录(web.config文件所在的位置)中的默认favicon.ico文件.我已删除,我已更换,我已重新启动浏览器,我已经退回IIS.这些都不起作用.

有没有人遇到过DNN中不稳定的图标问题的解决方案?

dotnetnuke dotnetnuke-5

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

IF/ELSE声明订单的最佳实践

哪个是更好的做法?(如果有所不同,我在.Net中编码)

IF condition = true THEN
   ...true action--even if rare...
ELSE
   ...action
END IF
Run Code Online (Sandbox Code Playgroud)

要么

IF condition = [most common condition] THEN
   ...most common action....
ELSE
   ...least common action
END IF
Run Code Online (Sandbox Code Playgroud)

.net vb.net if-statement

13
推荐指数
2
解决办法
6937
查看次数