小编Del*_*ted的帖子

在针对.NET 2.0时使用(某些)lambda表达式?

ReSharper建议我们改变:

System.Net.ServicePointManager.ServerCertificateValidationCallback +=
    delegate(object sender, X509Certificate certificate, X509Chain chain,
        SslPolicyErrors sslPolicyErrors)
{
    return true;
};
Run Code Online (Sandbox Code Playgroud)

成:

System.Net.ServicePointManager.ServerCertificateValidationCallback +=
    (sender, certificate, chain, sslPolicyErrors) => true;
Run Code Online (Sandbox Code Playgroud)

它看起来更清洁.但我们的目标是.NET 2.0.这仍然是我们应该做的事情吗?

.net c# lambda

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

测试依赖于NUnit的常用功能

我有一些初始化代码来使用我的API.初始化可能会失败,我想在NUnit测试中测试它.

在初始化之后,可以使用API​​.我也在测试API,但我的所有测试方法都将使用相同的常见初始化代码.

我理想的是,如果这种行为:

  1. 初始化测试运行.
  2. 如果[1]成功,则运行其他测试.

在[1]失败的所有情况下,所有其他测试也将失败.但有价值的信息是[1]失败了.这就是我最有可能找到问题的地方.如果其他测试可以标记出来会很好吗?或某事,表明他们没有执行他们所依赖的功能没有通过测试.

我知道测试不应该是脆弱的.但我无法解决初始化代码是正确执行其他功能所必需的事实.

这是一个更普遍的问题,其中某些功能取决于其他功能."其他功能"通常用于通过根据它进行所有测试失败来提供任何实际价值.如果"其他功能"将单独测试会更好.

integration-testing nunit

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

将两个Mercurial存储库加入一行修订版中

创建了两个"无关的"Mercurial存储库:

user@SERVER ~/mercurialtest
$ cd jointest/

user@SERVER ~/mercurialtest/jointest
$ hg init beginning

user@SERVER ~/mercurialtest/jointest
$ hg init end

user@SERVER ~/mercurialtest/jointest
$ cd beginning/

user@SERVER ~/mercurialtest/jointest/beginning
$ echo "something old..." >> data.txt

user@SERVER ~/mercurialtest/jointest/beginning
$ hg add data.txt

user@SERVER ~/mercurialtest/jointest/beginning
$ hg commit -m "Nr 1 in beginning"

user@SERVER ~/mercurialtest/jointest/beginning
$ echo "something old..." >> data.txt

user@SERVER ~/mercurialtest/jointest/beginning
$ hg commit -m "Nr 2 in beginning"

user@SERVER ~/mercurialtest/jointest/beginning
$ echo "something old..." >> data.txt

user@SERVER ~/mercurialtest/jointest/beginning
$ hg commit -m "Nr …
Run Code Online (Sandbox Code Playgroud)

mercurial

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

使用泛型使算法在"某事"列表上工作而不是仅使用String

我有一个小算法,它取代了字符串中字符的位置:

class Program
{
    static void Main(string[] args)
    {
        String pairSwitchedStr = pairSwitch("some short sentence");
        Console.WriteLine(pairSwitchedStr);

        Console.ReadKey();
    }

    private static String pairSwitch(String str)
    {
        StringBuilder pairSwitchedStringBuilder = new StringBuilder();
        for (int position = 0; position + 1 < str.Length; position += 2)
        {
            pairSwitchedStringBuilder.Append((char)str[position + 1]);
            pairSwitchedStringBuilder.Append((char)str[position]);
        }
        return pairSwitchedStringBuilder.ToString();
    }
}
Run Code Online (Sandbox Code Playgroud)

我想尽可能使用泛型,可能使用泛型.我想拥有的东西是:

  • 使用实例列表构建的任何内容.
  • 包括字符串,数组,链表

我怀疑解决方案必须使用泛型,因为算法正在处理T的实例列表(有T是......某事).C#版本不感兴趣,我想如果使用C#version> 2.0的功能,解决方案会更好.

我最终得到:(我修复了上面代码中的错误,它没有正确处理奇数长度)

    private static IEnumerable<T> switchSubstitutionCipher<T>(IEnumerable<T> input)
    {
        bool even = false;
        T lastItem = default(T);

        foreach (T element in input)
        {
            if (even) …
Run Code Online (Sandbox Code Playgroud)

c# generics

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

使用Visual Studio 2008 + Resharper + NUnit从测试输出文本

在创建单元测试时,我喜欢为探索目的进行控制台输出.有没有办法在使用Resharper执行测试时在Visual Studio中查看Console.WriteLine("s")?

我没有将控制台输出保留在我的测试的最终版本中,因此无需对此进行评论.

resharper nunit visual-studio-2008

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

&lt;hr /&gt; 和其他内容中的斜线之前还需要空格吗?

可能的重复:
结束斜杠之前有空格?

你好,

如果我没记错的话,我们一开始就拥有它,因为如果我们不添加空间,某些旧版本的 Netscape 就会卡住(它会认为该节点永远不会结束)。

但今天真的有必要吗?

html

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

distcc的各个阶段究竟是什么意思?我已经在使用泵模式吗?我如何在Cygwin中使用泵模式?

从我所读到的能够使用带有distcc的泵模式要求你将make封装在pump脚本中.但是,我没有在我的路径中,我找不到它作为一个包或包含在Cygwin 的distcc包中.

但是,当我使用distcc进行编译并使用distccmon-text来监视联系的主机及其阶段时,我清楚地看到其中一些主机有时处于预处理阶段.我认为所有预处理都是在使用模式时在执行make脚本的客户端上完成的.并且泵模式的整个想法是在远程主机上进行预处理(因此需要相同的包含文件).

这让我很困惑.我的主要问题是:究竟是什么做的阶段:启动,阻止,连接,预处理,瞬移,发送,接收完成的distcc是什么意思?

并且作为一个子问题:如何在Cygwin中使用带distcc的泵模式?

cygwin distcc

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

双引号内的感叹号会导致奇怪的解析错误

为什么这个命令行有效:

$ output='Irrelevant'; if [[ $output =~ Something ]]; then echo "I found something in the output." ; fi
Run Code Online (Sandbox Code Playgroud)

这个给我一个奇怪的解析错误?

$ output='Irrelevant'; if [[ $output =~ Something ]]; then echo "I found something in the output!" ; fi
-bash: !": event not found
Run Code Online (Sandbox Code Playgroud)

从第一个版本的变化是引号内被呼应了一句带有感叹号结束.为什么Bash在第二个版本中给我错误?

如果重要,这是以下产出bash --version:

GNU bash, version 4.2.24(1)-release (x86_64-pc-linux-gnu)
Run Code Online (Sandbox Code Playgroud)

bash quotes

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

从.each调用的函数内部删除标记

.each我想要删除a标签/ 的函数内部.这是一个非工作的例子:

$('div.link').has('div.entry:has(p.title:has(a[href^="http://i.imgur.com/"]))').each(function (i) {
    $(this).css('border', '5px solid');
    $(this).remove('a'); // Does NOT work! Nothing happens...
    console.log($(this));
})
Run Code Online (Sandbox Code Playgroud)

点击下面的图片查看完整尺寸.标记的线是纯粹的巧合并且没有任何表示.要测试一下,请访问http://reddit.com并使用Firebug(加载jQuery): 包含部分Reddits DOM的Firebug屏幕截图

jquery

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

在保持与C#2.0的运行时兼容性的同时,我们可以升级哪个C#版本?

我们有一个用于EpiServer的模块,它是用C#2.0编写的,我们正在继续开发.如果我们了解客户的唯一事情就是我们当前的模块工作正常,我们可以升级哪个版本的C#仍然可以与客户当前的运行时一起使用?

c#

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

Mercurial:查看分支与默认值合并的频率

假设我有两个分支,默认和mybranch,我想写一个小脚本来看:

  1. mybranch与默认值合并的频率(更改从mybranch变为默认值)
  2. mybranch与默认值合并的频率(更改从默认值变为mybranch)

#1的一些伪代码:

    m_lastmergetime = 0
    for each m in [all merges with default from mybranch]
        m_mergetime = m.date_in_hours
        m_timebetweenmerges = m_mergetime - m_lastmergetime
        if m_lastmergetime > 0
            print m_timebetweenmerges
Run Code Online (Sandbox Code Playgroud)

Sub.steps:

  1. 一个Mercurial查询,它匹配默认情况下mybranch的所有合并
  2. Mercurial的样式,以小时为单位显示日期
  3. 使用Bash或Python计算合并之间的时间,如上面的伪代码

案例#2将非常相似.我只需要:

  1. 一个Mercurial查询,它匹配默认情况下与mybranch的所有合并

mercurial

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

询问或提醒用户她正在更改我们很少想要更改的特定文件(但仍希望在我们的版本控制中)

我们有一个XML文件,其中包含我们使用的工具的设置.该工具很不错,但是如果你在使用它时更改了一些设置,那么很容易将这些设置错误地保存到XML文件中(你会得到一个问题,但很容易回答是).

有没有办法提醒用户她正在提交对此特定文件的更改?我们希望它版本化,但我们也想要集中化,我们希望设置非常稳定.

如果这很重要,它是在NTFS分区上在Windows中版本化的文件.试图将文件设置为"只读"似乎不起作用(在我设置之后,hg st仍然说没有变化).有任何想法吗?

mercurial

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