小编Fre*_*dou的帖子

你会在棋盘上做什么?(件位)

你会为你创建3个(坐标)列表吗?

  • 空位
  • 黑色的位置
  • 白色位置

或者只是在需要时循环播放数组并每次都使用结果?

什么是最好的?(速度明智)

.net algorithm chess

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

如何将此行转换为vb.net

来自asp.net MVC的免费晚餐书

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(int id, FormCollection formValues) {
    Dinner dinner = dinnerRepository.GetDinner(id);
    UpdateModel(dinner);
    dinnerRepository.Save();
    return RedirectToAction("Details", new { id = dinner.DinnerID });
}
Run Code Online (Sandbox Code Playgroud)

如何将此行转换为vb.net?

return RedirectToAction("Details", new { id = dinner.DinnerID });
Run Code Online (Sandbox Code Playgroud)

更多新的{id = dinner.DinnerID}部分

谢谢

c# vb.net asp.net-mvc anonymous-types

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

如何将多行分组成一行?

我有这样的事情:

   int, string
   ------------
    1, 'test1'
    1, 'test2'
    2, 'test1'
    2, 'test2'
    2, 'test3'
    3, 'test1'
    4, 'test1'
    4, 'test2'
Run Code Online (Sandbox Code Playgroud)

我想将其转化为

   int, string
   ------------
    1, 'test1, test2'
    2, 'test1, test2, test3'
    3, 'test1'
    4, 'test1, test2'
Run Code Online (Sandbox Code Playgroud)

我尝试过很多东西,比如GroupMy和SelectMany,但它给了我运行时错误

c# linq-to-objects

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

为什么C#性能比VB慢

我有两个库,第一个是在vb.net中完成的原始文件,第二个是在c#中.

做同样的事情.

vb.net比c#快10%左右,非常奇怪

所以我发现似乎是减速的原因,通过查看IL两者的代码是(我会说接近99%的il代码是相同的);

  1. 在c#中所有方法调用都有,hidebysig但在vb.net中没有

    这一件事可能是性能问题吗?

  2. 在c#中,您必须在使用之前初始化局部变量

    这不会在c#中工作

    void test()
    {
        int a;
        a += 1;
    }
    
    Run Code Online (Sandbox Code Playgroud)

    这将

    void test()
    {
        int a = 0;
        a += 1;
    }
    
    Run Code Online (Sandbox Code Playgroud)

    而这工作在vb.net

    Sub test()
       Dim a As Integer
       a += 1
    End Sub
    
    Run Code Online (Sandbox Code Playgroud)

    在c#中导致2个更多的IL线,我很确定,这会导致性能问题

  3. 在vb.net中,似乎我无法il使用代码call,它总是callvirt在c#总是使用时使用call

    这一件事可能是性能问题吗?

  4. .maxstack在c#中有时候更大

    这一件事可能是性能问题吗?

最后,我试图了解如何恢复10%的速度损失.到目前为止,我一无所知

如果你想看看它是,你可以自己反编译,我用ilspy;

ZIP文件,编译版本
ChessEngine.dll
ChessEngineSharp.dll
ConsoleApplication1.exe

c# vb.net

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

生成4x4x4数独板的更好/更好的方法?

为了获得乐趣,我有时间,我喜欢编写游戏以了解它有多难,或者只是因为我想从内部看到它是如何工作的,或者只是为了个人挑战.我只是喜欢编码.现在,我做了这些.

所以我做了一个数独板.首先它是正常的3x3x3板,但后来有人让我做一个4x4x4板.我很成功但我的算法很慢.

问题是,你如何为4x4x4(或更多)数独板做快速算法

我当前的算法是这样的:我将用随机数填充网格1,确保我没有放回相同的数字,然后切换到网格2.当我在位置0.0或网格中的任何其他位置时我从网格1中删除任何可能的数字.我继续这样对网格中的每一行/列.(现在你可以看到英语不是我的第一语言,所以如果难以理解,我很抱歉.)


更新:
几个月后的一点点跟进.

我现在的解决方案可以在这里找到

因此,当我开始这个问题时,它每30-50秒做一次网格,现在每秒超过300次

.net algorithm optimization

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

如何在重写或硬件升级之间做出决定?

如果你的工作产品很慢而且内存很饿.

这两个选项之间的决定是什么?为什么?

  1. 如果您购买"好"的服务器,该产品将是完美的,它可以是5位数,也可能是6位数.
  2. 您有来源和资源来更改它,它将花费大约相同的选项1来解决问题,但允许您获得4位数的服务器.

hardware optimization performance rewrite

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

制作结构数组的只读副本的最快方法?

我目前正在使用类似的东西

c#
var myvar = directcast(myarrayofstruct.clone(), mystruc());

vb.net
dim myvar = directcast(myarrayofstruct.clone, mystruc())
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

.net

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

Visual Studio 2010; 选项卡和缩进大小应与以前的VS版本中的单独设置相同

我刚看到Microsoft Connect上的这篇文章(在/上浏览时)关于将选项卡和缩进选项组合到VS2010中.

他们说他们确实问过这里.但我没有看到8条评论就足够了.

我通常使用默认设置但有时(实际上很少)我使用海关设置.

他们提供代码并说我们现在正在管理这些设置.

目前来自微软的最终回应;

再次感谢所有就此问题发表意见的人.遗憾的是,我不得不重申我之前发布的内容:我们无法在RTM之前恢复此UI.在产品周期中太晚了,太靠近VS 2010发货日期了.如果团队在几个月前听到了这个反馈,关于如何为VS 2010 RTM做些什么的讨论可能会重新开放; 再次,我们逐步完成了这一变化,并对各种内部和外部用户进行了调查,以确保在做出最终决定之前能够考虑所有观点.我们将在未来的版本中重新讨论这个问题,如果/何时发布,我们可能会针对VS 2010服务包重新审视这个问题,但对于RTM,我们只是暂时没有.

他们为什么要这样做?谁知道?

visual-studio-2010

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

如何在List(Of Integer())上做一个截然不同的?

从此

(vb.net)

    Dim test As New List(Of Integer())
    test.Add(New Integer() {1, 2, 3})
    test.Add(New Integer() {1, 3, 3})
    test.Add(New Integer() {3, 2, 3})
    test.Add(New Integer() {1, 1, 3})
    test.Add(New Integer() {1, 2, 3})
    Dim a = test.Distinct
Run Code Online (Sandbox Code Playgroud)

(C#)

    List<int[]> test = new List<int[]>();
    test.Add(new int[] { 1, 2, 3 });
    test.Add(new int[] { 1, 3, 3 });
    test.Add(new int[] { 3, 2, 3 });
    test.Add(new int[] { 1, 1, 3 });
    test.Add(new int[] { 1, 2, 3 });
    var a …
Run Code Online (Sandbox Code Playgroud)

.net c# linq vb.net

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

是否可以优化该代码?

我对速度感兴趣,而不是好看的代码,这就是为什么我使用数组而不是列表(整数).

我有一个数组看起来像:0,1,0,1,1,0,1,0,1,1,1,0,0,1

我对每个数字的位置感兴趣,所以我可以随后随机选择一个.

所以我所做的是循环遍历数组以获取每个1的位置编号,然后创建一个如下所示的新数组:2,4,5,7,9,10,11,14

在这里可以使用bitwise吗?我不知道

代码看起来像:

Private Function theThing() As Integer()
    Dim x As Integer
    'arIn() would be a parameter
    Dim arIn() As Integer = {0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1}
    Dim ar() As Integer = Nothing
    Dim arCount As Integer = -1

    For x = 1 To arIn.GetUpperBound(0)
        If arIn(x) = 1 Then
            arCount += 1
        End If
    Next

    If arCount > -1 Then
        'using redim preseve is slower than the …
Run Code Online (Sandbox Code Playgroud)

.net vb.net algorithm

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