你会为你创建3个(坐标)列表吗?
或者只是在需要时循环播放数组并每次都使用结果?
什么是最好的?(速度明智)
来自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}部分
谢谢
我有这样的事情:
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,但它给了我运行时错误
我有两个库,第一个是在vb.net中完成的原始文件,第二个是在c#中.
做同样的事情.
vb.net比c#快10%左右,非常奇怪
所以我发现似乎是减速的原因,通过查看IL两者的代码是(我会说接近99%的il代码是相同的);
在c#中所有方法调用都有,hidebysig但在vb.net中没有
这一件事可能是性能问题吗?
在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线,我很确定,这会导致性能问题
在vb.net中,似乎我无法il使用代码call,它总是callvirt在c#总是使用时使用call
这一件事可能是性能问题吗?
.maxstack在c#中有时候更大
这一件事可能是性能问题吗?
最后,我试图了解如何恢复10%的速度损失.到目前为止,我一无所知
如果你想看看它是,你可以自己反编译,我用ilspy;
ZIP文件,编译版本
ChessEngine.dll
ChessEngineSharp.dll
ConsoleApplication1.exe
为了获得乐趣,我有时间,我喜欢编写游戏以了解它有多难,或者只是因为我想从内部看到它是如何工作的,或者只是为了个人挑战.我只是喜欢编码.现在,我做了这些.
所以我做了一个数独板.首先它是正常的3x3x3板,但后来有人让我做一个4x4x4板.我很成功但我的算法很慢.
问题是,你如何为4x4x4(或更多)数独板做快速算法?
我当前的算法是这样的:我将用随机数填充网格1,确保我没有放回相同的数字,然后切换到网格2.当我在位置0.0或网格中的任何其他位置时我从网格1中删除任何可能的数字.我继续这样对网格中的每一行/列.(现在你可以看到英语不是我的第一语言,所以如果难以理解,我很抱歉.)
更新:
几个月后的一点点跟进.
我现在的解决方案可以在这里找到
因此,当我开始这个问题时,它每30-50秒做一次网格,现在每秒超过300次
如果你的工作产品很慢而且内存很饿.
这两个选项之间的决定是什么?为什么?
我目前正在使用类似的东西
c#
var myvar = directcast(myarrayofstruct.clone(), mystruc());
vb.net
dim myvar = directcast(myarrayofstruct.clone, mystruc())
Run Code Online (Sandbox Code Playgroud)
有没有更好的办法?
我刚看到Microsoft Connect上的这篇文章(在/上浏览时)关于将选项卡和缩进选项组合到VS2010中.
他们说他们确实问过这里.但我没有看到8条评论就足够了.
我通常使用默认设置但有时(实际上很少)我使用海关设置.
他们提供代码并说我们现在正在管理这些设置.
目前来自微软的最终回应;
再次感谢所有就此问题发表意见的人.遗憾的是,我不得不重申我之前发布的内容:我们无法在RTM之前恢复此UI.在产品周期中太晚了,太靠近VS 2010发货日期了.如果团队在几个月前听到了这个反馈,关于如何为VS 2010 RTM做些什么的讨论可能会重新开放; 再次,我们逐步完成了这一变化,并对各种内部和外部用户进行了调查,以确保在做出最终决定之前能够考虑所有观点.我们将在未来的版本中重新讨论这个问题,如果/何时发布,我们可能会针对VS 2010服务包重新审视这个问题,但对于RTM,我们只是暂时没有.
他们为什么要这样做?谁知道?
从此
(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) 我对速度感兴趣,而不是好看的代码,这就是为什么我使用数组而不是列表(整数).
我有一个数组看起来像: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 ×5
c# ×4
vb.net ×4
algorithm ×3
optimization ×2
asp.net-mvc ×1
chess ×1
hardware ×1
linq ×1
performance ×1
rewrite ×1