问题列表 - 第11701页

折叠一组可能重叠的范围有什么好的通用算法?

我有一个方法可以获得这个类的许多对象

class Range<T>
{
    public T Start;
    public T End;
}
Run Code Online (Sandbox Code Playgroud)

在我的情况TDateTime,但让我们使用int的简便性.我想要一种方法,将这些范围折叠成覆盖相同"区域"但不重叠的区域.

所以,如果我有以下范围

  • 1至5
  • 3到9
  • 11至15
  • 12至14岁
  • 13至20

该方法应该给我

  • 1至9
  • 11至20

猜猜它会被称为联盟?我想方法签名看起来像这样:

public static IEnumerable<Range<T>> Collapse<T>(
    this IEnumerable<Range<T>>, 
    IComparable<T> comparer)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

我在这里看了一些类似的其他问题,但我还没有找到它的实现.这个答案和同一问题的其他一些答案描述了算法,但我不太清楚我是否理解算法.也不是特别擅长实现算法,所以我希望有人可以帮助我.

c# generics algorithm union range

34
推荐指数
2
解决办法
4392
查看次数

什么是类型?

一个新问题/ +:...
在编程中,我们经常遇到单词Type.

应该传达什么,什么时候不应该使用?

language-agnostic types

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

更改NSTable/NSOutlineView的默认字体大小

我不太明白如何更改(减少)我的NSOutlineView中文本的字体大小.默认文本大于大多数应用程序用于其字体大小的文本.

有一些heirachical的东西,你不设置字体目录,但你继承了表或大纲视图"上方"的东西.

有什么地方可以巧妙地解释这个吗?

cocoa objective-c nsoutlineview

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

如何在出错时优雅地退出我的应用程序?

这是一个我的真实世界编程缺乏经验的问题.我有一个函数调用其他三个函数:

Public Sub StartService()
    RunSearch()
    SaveMessages()
    DeleteMessages()
End Sub
Run Code Online (Sandbox Code Playgroud)

RunSearch(), SaveMessages() and DeleteMessages()我使用Try Catch语句的每个方法中捕获错误.现在我捕获错误并在RunSearch()错误输出时写入错误日志,但我也得到两个错误SaveMessages(),DeleteMessages()因为这些函数依赖于RunSearch()不返回错误.我正在尝试建立一个错误捕获基础的好,所以我不只是想在出现错误时杀死应用程序.我的问题是:如果发生错误,我怎样才能优雅地停止执行RunSearch().

c# vb.net asp.net error-handling

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

使用linqpad作为主要查询工具

我的团队成员最近转移到LinqPad作为他的主要查询工具(有时仍会使用SQL Studio),其目的很简单,迫使自己使用LINQ更自然.我认为这是一个非常好的主意,我正在考虑让我的团队其他成员进行这一切换.有没有人对采取这种方法有任何想法/想法?

我早期的问题......

  1. 我觉得能够编写好的ANSI SQL对于LOB开发人员来说至关重要.由于LINQ是微软的事情,他们在LINQ中学到的技能是否值得在完全开发ANSI SQL技术时牺牲,特别是如果(当)他们在以后的生活中转移到其他工作/职责.开发人员开发(公司内部和外部)对我来说非常重要.

  2. SQL Studio中是否有任何功能在LinqPad中会被错过?

  3. LinqPad有长期生命吗?换句话说,每个人都觉得LinqPad是一款随着.NET和SQL的发展而不断发展的产品吗?

.net linq linqpad

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

从命令行(对于makefile)查找Microsoft C++编译器的版本

我必须遗漏一些非常明显的东西,但出于某种原因,Microsoft C++编译器(cl.exe)的命令行版本似乎不支持在运行时报告其版本.我们需要这个来编写makefile,检查我们工具的用户已经安装的编译器版本(他们使用代码获取makefile,他们将在本地编译,因此我们无法控制他们的编译器版本).

在gcc中,你只需要选择-v或--version来打印一个漂亮的版本字符串.

在cl.exe中,-v会出错.

我已经阅读了MSDN文档和编译器在线帮助,我找不到只打印编译器版本的开关.令人讨厌的是,你总是在编译器启动时得到版本......但你似乎无法启动编译器只是为了从中获取版本.

使用qmake查找编译器供应商/版本似乎相似,但只处理gcc的简单情况.

我正在尝试使用VC++ Express 2005,如果这很重要的话.我希望它不会,因为检测编译器版本最好以与编译器版本无关的方式完成:)

回复后更新:

  • 运行不带任何参数的cl.exe会打印其版本和一些帮助文本.
  • 这看起来是跨越vc版本获得该版本的最便携方式.
  • 然后你必须解析多行输出,但这并不太难.
  • 我们最终做到了这一点,并且它有效.

makefile visual-c++

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

jQuery - 页面上最宽的项目

如何使用jQuery在网页上找到最宽的项目(宽度设置为css或作为属性)?

jquery

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

是否应在登录前或成功登录后创建PHP会话

如果在登录前创建了PHP会话,则会为每个登录页面请求创建一个会话文件.

问题是如果用户通过脚本向服务器发出多个请求,那么将创建那么多会话文件.
如果用户想攻击服务器,他可以发送异常大量的请求,创建如此多的会话文件占用所有临时空间并使服务不可用.
我不确定这种攻击是否真的可行/可行.

如果在成功登录之前/之后创建PHP会话,请分享您对此的意见和影响.

php cookies session

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

C++变量数据被覆盖

我编写C/C++已经有几年了,现在我遇到了一个问题,我似乎无法自己解决.

给定以下结构:

struct InputData
{
    float diameter;
    float length;
    int vertIndex;
    struct InputData *parent;
    vector<InputData*> children;
    bool deadEnd;

    InputData(float dia, float lngth)
    {
        diameter = dia;
        length = lngth;
        vertIndex = NULL;
        parent = NULL;
        deadEnd = false;
    }
};
Run Code Online (Sandbox Code Playgroud)

我首先定义了一些节点及其父/子关系:

InputData i0 = InputData(3.0f, 3.0f);
InputData i1 = InputData(2.0f, 2.0f);
InputData i2 = InputData(1.0f, 1.0f);
InputData i3 = InputData(1.0f, 1.0f);
InputData i4 = InputData(1.0f, 1.0f);
InputData i5 = InputData(1.01f, 0.5f);

i0.children.push_back(&i1);
i1.children.push_back(&i2);
i2.children.push_back(&i3);
i3.children.push_back(&i4);
i4.children.push_back(&i5);

i1.parent = &i0;
i2.parent …
Run Code Online (Sandbox Code Playgroud)

c++ pointers vector overwrite

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

IIS7 - 密码保护开发服务器

我有一个运行带有ASP.NET MVC Web应用程序的IIS 7.0的开发服务器,它使用Forms Authentication/Membership进行身份验证.

我需要能够阻止未经授权的用户查看此站点.但是,我们的客户应该能够输入简单的用户名/密码才能获得访问权限.

在他们这样做之后,他们应该能够使用表单身份验证与Web应用程序进行交互,就好像他们刚刚进入一个不受保护的站点一样.

有什么建议?

passwords asp.net-mvc iis-7

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