小编Spo*_*xus的帖子

如何使用流畅断言组合集合和属性断言?

我想"结合"Fluent Assertion的集合断言和属性断言,例如断言两个IEnumerable是成对相等的,使用逐个属性(可能是"嵌套")比较(即结构相等,用函数式语言说法).

具体例子:

var dic = new Dictionary<int, string>() { {1, "hi"}, {2, "bye" } };
var actual = dic.ToSelectListItems(0).OrderBy(si => si.Text);

var expected = new List<SelectListItem>() {
    new SelectListItem() {Selected = false, Text="bye", Value="2"},
    new SelectListItem() {Selected = false, Text="hi", Value="1"}
};
Run Code Online (Sandbox Code Playgroud)

在这里,我写了一个扩展方法ToSelectListItems,其转换DictionaryIEnumerableSelectListItemS(从ASP.NET MVC).我想断言actual并且expected"在结构上"是相等的,注意引用类型SelectListItem不会覆盖Equals,因此默认使用引用相等.

更新

目前使用以下手动解决方案,仍然希望在FluentAssertions中内置更好的内容:

public static void ShouldBeStructurallyEqualTo<T, U>(this IEnumerable<T> actual, IEnumerable<U> expected) {
    actual.Should().HaveCount(expected.Count());
    actual.Zip(expected).ForEach(pair => pair.Item1.ShouldHave().AllProperties().IncludingNestedObjects().EqualTo(pair.Item2));
} …
Run Code Online (Sandbox Code Playgroud)

c# nunit unit-testing fluent-assertions

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

Python正则表达式re.match,为什么这段代码不起作用?

这是用Python编写的,

import re
s='1 89059809102/30589533 IronMan 30 Santa Ana Massage table / IronMan 30 Santa Ana Massage table'
pattern='\s(\d{11})/(\d{8})'
re.match(pattern,s)
Run Code Online (Sandbox Code Playgroud)

它没有返回.

我试着取下括号,

pattern='\s\d{11}/\d{8}' 
Run Code Online (Sandbox Code Playgroud)

它仍然会回来none.

我的问题是:

  1. 为什么re.match找不到任何东西?
  2. 模式中有或没有括号有什么区别?

python regex

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

如何在WPF中创建填字游戏?

我创建了10 x 10个TextBox,用户应该将这些单词输入到相关的TextBox中以获取单词的位置.我将所有内容保存到这样的文本文件中:

在此输入图像描述

然后在WPF方面,我阅读文本文件并在面板中填充TextBoxes,但问题是填字游戏已经关闭并且提示会引导您回答,每个提示都会有一个数字来指示哪个是哪个.但是,我想不出一种方法可以将数字的拼图编号与数字和数字之间的提示联系起来.这就是现在的样子:

在此输入图像描述

注意数字(我在油漆中编辑它们以显示我想要的东西)在横向和向下旁边,我需要显示这些数字.

在我的数据库中,我将文件的位置存储在一个表中,并将提示和答案存储在另一个表中,如下所示:

在此输入图像描述

这是提示(横向和向下)和答案:

在此输入图像描述

我正在使用Entity框架lambda表达式来检索横向和向下.

感谢任何有关此问题的帮助,以便将数字分配给拼图的横向和横向.

这是我显示拼图的代码:

  protected void Across()
    {
        IList<ModelSQL.puzzlecontent> lstAcross = daoPuzzleContent.GetAcross();

        foreach (ModelSQL.puzzlecontent lista in lstAcross)
        {
            Label tbA = new Label();
            tbA.Content = lista.Hint;
            tbA.Width = Double.NaN;
            tbA.BorderBrush = Brushes.CadetBlue;
            tbA.BorderThickness = new Thickness(2);
            stackPanel1.Width = Double.NaN;
            stackPanel1.Children.Add(tbA);
            words.Add(lista.Answer);

        }
    }

    protected void AddPuzzle()
    {
        // foldername of the txt file.
        //  using (StreamReader reader = File.OpenText((@daoWordPuzzle.GetfileURL())))
        string[] fileData = File.ReadAllLines(@"C:\Users\apr13mpsip\Desktop\OneOrganizer\OneOrganizer\WordPuzzle\educational.txt");

        string[] lineValues;

        int row = 0;
        int col;
        int hint = …
Run Code Online (Sandbox Code Playgroud)

c# wpf

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

接收大数据时,ServiceStack会抛出StackOverflowException

我使用ServiceStack的JsonServiceClient和Silverlight 5从我的ASP.Net服务器接收JSON数据.它适用于简短的JSON字符串,但是当涉及到非常大量的数据时,会抛出StackOverflowException ServiceStack.ServiceClient.Web.AsyncServiceClient.ReadCallBack<>.

所以我检查了GitHub上的最新源代码,并注意到数据是从块中以块状方式读取的,大小为4096字节.问题是这个方法读取一个块并告诉流完成后递归调用自身.我们收到的数据越多,发生的递归调用就越多.这就是当接收到的数据太大时应用程序崩溃的原因.

思路:

  • 将方法重构为迭代而不是递归.对于所有这些有条件的回报,等待,尝试捕获等等,这似乎是一项艰巨的任务.
  • 增加块大小.我不知道4096这里有什么理由,所以我宁愿不单独做这件事.

无论如何,在我下载所有源代码,自己修改和编译之前,我想听听你对此的看法.这是一个错误还是我错了?

.net c# stack-overflow silverlight servicestack

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

为什么iOS6模拟器删除应用程序的速度很慢?

我从Xcode停止了运行过程,关闭了后台应用程序.

当我开始关闭它时,模拟器会挂起约20秒,然后提示"删除__app?"

xcode ios-simulator ios6

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

当出现"混合内容"对话框时,IE 10和11挂起

当混合内容警告对话框出现时,我们正在寻找解决奇怪的IE浏览器行为的解决方案.

我们开发了基于Silverlight 5的视频平台.该站点依赖于HTTPS协议,但视频内容通过HTTP传输.因此,将出现"混合内容"对话框.

但是当用户开始与此对话框交互时(如移动它)或尝试单击应用程序区域IE冻结:

在此输入图像描述 这会让我们的用户感到非常不安,因为他们无法切换"显示混合内容:提示"设置.

有时IE会在后台打开"混合内容"弹出窗口,用户无法理解发生了什么,因为他们无法访问应用程序,然后浏览器崩溃.

我无法共享该应用程序的链接,但同样的问题出现在以下站点:https://demos.telerik.com/silverlight/

我们还使用纯SL 5创建了一个没有复杂逻辑的测试应用程序.它只是从HTTP主机下载图片,然后出现"混合内容"对话框,然后当用户点击应用程序区域或尝试移动对话框时,IE挂起.

所以,问题是:

  1. 这是IE或Silverlight的已知本机错误,无法修复或解决?
  2. 否则,我们如何在我们的应用程序中解决此问题?

silverlight silverlight-5.0 internet-explorer-10 internet-explorer-11 mixed-content

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

致命错误:调用未定义的函数pg_connect

我使用的是Windows 7,php 5.3.5和WAMP服务器.我有两个php文件:trigger.php和background.php.
我想将background.php作为后台进程运行.我必须从trigger.php调用此文件.为实现这一点,我使用了以下方法.我在trigger.php中包含了以下代码,以使background.php在后台进行处理.

$handle = popen('start /b C:\wamp\bin\php\php5.3.5\php.exe     C:\wamp\www\email3.php','r');
Run Code Online (Sandbox Code Playgroud)

在background.php中我有以下代码连接到数据库.

$conn_string = "host=localhost port=5432 dbname=tagbase user=postgres password=postgres";  
Run Code Online (Sandbox Code Playgroud)

现在,在解析这一行时我得到了以下错误:

致命错误:在第3行的C:\ wamp\www\background.php中调用未定义的函数pg_connect()调用堆栈:0.0002 322792 1. {main}()C:\ wamp\www\background.php:0

通过在互联网上搜索,我找到了一些解决方案,并按照php.ini中的建议进行了更改,

uncommented, extension=php_pdo_pgsql.dll,
uncommented, extension=php_pgsql.dll,
uncommented, extension_dir = "c:/wamp/bin/php/php5.3.5/ext/",
Run Code Online (Sandbox Code Playgroud)

我也有文件c:/wamp/bin/php/php5.3.5/ext/夹中的php_pdo_pgsql.dll和php_pgsql.dll文件.

任何建议表示赞赏.

php windows wamp

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

多次散列相同的字符

我正在进行编程挑战,而且我对其中一个挑战感到疯狂.在挑战中,我需要计算字符串的MD5.该字符串以下列形式给出:

n[c]:数字在哪里n,c是一个角色.例如:b3[a2[c]]=>baccaccacc

一切顺利,直到我得到以下字符串:

1[2[3[4[5[6[7[8[9[10[11[12[13[a]]]]]]]]]]]]]

这个字符串变成了一个6227020800的字符串a.这个字符串超过6GB,因此几乎不可能在实际时间内计算它.所以,这是我的问题:

我可以在这里使用MD5的任何属性吗?

我知道必须有一个表单才能在短时间内完成它,我怀疑它必须与所有字符串具有重复多次的相同字符这一事实有关.

python string algorithm hash md5

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

MySQL连接字符串中的"pooling = false"是什么意思?

是什么pooling=false在.NET连接字符串MySQL数据库是什么意思?

这是完整的连接字符串:

return new MySqlConnection("SERVER=localhost;DATABASE=myDataBase;USER=###;PASSWORD=***;POOLING=FALSE;");
Run Code Online (Sandbox Code Playgroud)

.net c# mysql connection-string

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

管理一次性类依赖注入

我想知道如何使用DI管理对象.假设我有一堂课

class Foo : IFoo, IDisposable
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

然后这个类被注入另一个类

class Bar
{
    public Bar(IFoo foo)
    {
        this.Foo = foo
    }

    IFoo Foo { get; set; }
 }
Run Code Online (Sandbox Code Playgroud)

然后我在一些范围内绑定它(我的例子使用MVC和Ninject)

this.Bind<IFoo>().To<Foo>().InRequestScope();
Run Code Online (Sandbox Code Playgroud)

我想知道,因为依赖注入框架处理生命周期Foo,我应该实现IDispoable Bar吗?我的想法是DI正在管理其生命周期Foo,所以不要触摸它,以防其他类使用Foo.此外,由于一次性对象Bar作为构造函数参数传递,因此Bar不会包装一次性对象,因此它不知道后面Bar要使用的调用者是如何进行垃圾回收的.这是正确的吗?FooBar

c# lifecycle dependency-injection ninject

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