小编Sve*_*ven的帖子

Moq:设置没有setter的属性?

我有以下课程:

public class PairOfDice
{
    private Dice d1,d2;
    public int Value 
    {
       get { return d1.Value + d2.Value; }
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我想PairOfDice在我的测试中使用a 返回值1,虽然我在我的真实骰子中使用随机值:

[Test]
public void DoOneStep ()
{
    var mock = new Mock<PairOfDice>();
    mock.Setup(x => x.Value).Return(2);
    PairOfDice d = mock.Object;
    Assert.AreEqual(1, d.Value);
}
Run Code Online (Sandbox Code Playgroud)

不幸的是我收到了Invalid setup on non-overridable member错误.在这种情况下我该怎么办?

请注意,这是我第一次尝试实施单元测试.

c# unit-testing properties moq

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

在Visual Studio 2010中使用Doxygen

我在使用Doxygen和Visual Studio 2010和C++时遇到了困难.

除了"un/comment lines"之外,没有其他评论功能吗?例如,生成注释存根,并///在新行之后添加.

另外,我想知道在VS2010的IntelliSense功能中显示这些注释需要什么?

c++ documentation doxygen visual-studio-2010

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

更好/更快的方式来填充C#中的大数组

我有3*.dat文件(346KB,725KB,1762KB),它们填充了一个json-string"big"int-Arrays.

每次创建对象(多次)时,我都会使用这三个文件并将 JsonConvert.DeserializeObject数组反序列化为对象.

我想过使用二进制文件而不是json-string,或者我可以直接保存这些数组吗?我不需要使用这些文件,它只是当前保存数据的位置.我很乐意更快地切换到任何东西.

加快这些对象初始化的不同方法有哪些?

c# arrays initialization

11
推荐指数
3
解决办法
3548
查看次数

遗传算法中的比赛评估

现在,每个遗传C#库(A.Forge,遗传算法框架,GeneticSharp)似乎只评估单个Chromosome,然后使用各种选择方法之一来创建新一代.

由于我的问题涉及两个人工智能相互对抗,所以单独评估他们的健康状况有点困难.虽然游戏很简单,可以创造一些表面障碍(人工智能不会直接互动,但障碍会发送到彼此的游戏中),这样可以让我获得一些抽象的健身,但这不是"真正的"交易.

这些库似乎也没有提供另一个我可以实现这种评估方法的接口.是否有其他框架允许这样或者我需要从头开始?

c# genetic-algorithm geneticsharp

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

通过C#中的GroupCollection进行迭代

我目前正在尝试在C#中使用正则表达式:

Regex reg_gameinfo = new Regex(@"PokerStars Game #(?<HID>[0-9]+):\s+(?:HORSE)? \(?(?<GAME>Hold'em|Razz|7 Card Stud|Omaha|Omaha Hi/Lo|Badugi) (?<LIMIT>No Limit|Limit|Pot Limit),? \(?(?<CURRENCYSIGN>\$|)?(?<SB>[.0-9]+)/\$?(?<BB>[.0-9]+) (?<CURRENCY>.*)\) - (?<DATETIME>.*$)", RegexOptions.Multiline);
Match matchresults = reg_gameinfo.Match(rawtext);
Dictionary<string,string> gameinfo = new Dictionary<string,string>();
if (matchresults.Success)
{
     gameinfo.Add("HID", matchresults.Groups["HID"].Value);
     gameinfo.Add("GAME", matchresults.Groups["GAME"].Value);
     ...
}
Run Code Online (Sandbox Code Playgroud)

我可以遍历matchresult.GroupsGroupCollection并将键值对添加到我的gameinfo字典中吗?

c# collections loops

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

遍历后加速数组查找?

我有一个123MB的大int数组,它基本上是这样用的:

private static int[] data = new int[32487834]; 
static int eval(int[] c)
{
    int p = data[c[0]];
    p = data[p + c[1]];
    p = data[p + c[2]];
    p = data[p + c[3]];
    p = data[p + c[4]];
    p = data[p + c[5]];
    return data[p + c[6]];
}
Run Code Online (Sandbox Code Playgroud)

eval()被称为很多(约50B次)与不同c,我想知道是否(以及如何)我可以加快它.

我已经使用了一个不安全的函数和一个使用所有CPU 的固定数组.它是RayW的TwoPlusTwo 7卡评估器的C#端口.C++版本的速度微不足道.

GPU可以用来加快速度吗?

c# lookup performance gpu

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

寻找一种更好的遗传算法评估方法

我目前正试图用一种不常见的方法,一种遗传算法来解决reddit上的艰难挑战#151.

总之,一个分隔条件字符串之后consonantsvowels和移除spaces我需要把它放在一起不知道什么字符是第一位的.

hello world被分隔到hllwrldeoo和需要被重新组装起来.例如hlelworlod,一种解决方案是,但这没有多大意义.采用所有可能解决方案的详尽方法可行,但对于较长的问题集则不可行.

我已经拥有的

  • 具有英语单词频率的数据库
  • 一种算法,cost使用Zipf定律构造相对数据库,并且可以从没有空格的句子中始终分离单词(借用此问题/答案)
  • 将辅音和元音放入堆栈并随机从任一个中取出一个字符并将其编码为一个字符串的方法,该字符串由12有效地编码构造gene.这个gene例子的正确性是1211212111
  • 一种改变这种字符串的方法,随机交换字符

我尝试了什么

使用该infer_spaces()方法生成500个随机序列,并使用所有单词的成本评估适应度,取最佳值25%并从中修改4个新值,适用于小字符串,但经常落入局部最小值,尤其是对于较长序列.Hello World已经在第一代中发现(已经thisisnotworkingverygood正确分离并且具有成本)已经在第二代中41.223收敛到th iss n ti wo or king v rye good(270成本).

我需要的

显然,使用计算出的成本作为评估方法仅适用于语法正确的句子的分离,而不适用于此遗传算法.你有更好的想法吗?或者是解决方案的另一部分,例如问题的表示gene

python algorithm genetic-algorithm

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

获取具有未完全已知标题的窗口的句柄.(C#)

标题部分是静态的,带有变量后缀.例如"Window Title { - user_id}".

如何在不知道确切标题的情况下获取句柄?

c# api

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

如何将数据库中以 ANSI (Windows 1252) 存储的值转换为 UTF-8

当我在 Sqlite 浏览器中打开旧数据库时,文本已显示错误。我唯一可以设置的编码是 UTF-8 和 UTF-16。
带有 Umlaut 的 Sqlite 浏览器

当我查询数据库时,Visual Studio 中的编码已经错误。
Visual Studio 当地人

我假设文本是用 ANSI (Windows-1252) 编码的(在评论中确认)。我尝试将其转换为 UTF-8

        var encoding = Encoding.GetEncoding(1252);
        byte[] encBytes = encoding.GetBytes(result);
        byte[] utf8Bytes = Encoding.Convert(encoding, Encoding.UTF8, encBytes);
        return Encoding.UTF8.GetString(utf8Bytes);
Run Code Online (Sandbox Code Playgroud)

但现在问号符号只是一个问号。
还是错了

不知何故,外部遗留应用程序可以正确显示它,所以似乎有一种方法。但我不确定接下来我可以尝试什么。

c# sqlite encoding utf-8

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

#define文件类型

#define LBitmap std::list < CBITMAP *>
Run Code Online (Sandbox Code Playgroud)

一个好习惯?

编辑:好吧,我该怎么做才能说服我的老板这是不好的做法?

c++ c-preprocessor

3
推荐指数
2
解决办法
531
查看次数