小编A.R*_*.R.的帖子

Visual Studio 2010设置文件位置

关于我的设置和虚拟机,我遇到了一个小问题.最近我设置了一个VM,这样我就可以每周左右执行一次干净的检查和代码构建.但是,我的文档文件夹位于公司网络上(感谢IT部门!),因此我的设置在我的真实机器和我的虚拟机之间共享.

显然,这会导致永无止境的冲突,并且非常烦人.我觉得应该有一些简单的方法将VM指向一个不同的位置,它可以在内部存储和使用它的设置.有谁知道如何做到这一点?

visual-studio-2010

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

F#递归函数在奇怪的无限循环中

当谈到F#时,我非常环保,而且我遇到了一个处理递归函数的小问题,我希望能帮助我理解.

我有一个函数应该吐出下一个偶数:

let rec nextEven(x) =
    let y = x + 1
    if y % 2 = 0 then y
    else nextEven y


// This never returns..
nextEven 3;;
Run Code Online (Sandbox Code Playgroud)

我使用'rec'关键字使它会递归,但是当我使用它时,它会因某种原因在无限循环中运行.如果我像这样重写函数:

let nextEven(x) =
    let y = x + 1
    if y % 2 = 0 then y
    else nextEven y
Run Code Online (Sandbox Code Playgroud)

然后一切正常(没有rec关键字).出于某种原因,我虽然我需要'rec',因为函数是递归的(为什么我不这样做?)为什么函数的第一个版本会永远运行?

编辑
原来这是一个总的noob错误.我已经创建了该函数的多个定义,如注释+答案中所述.

f# f#-interactive

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

适用于Windows应用商店的Monospace字体

是否有任何可以在Windows应用商店应用中使用的等宽字体?我已经阅读了指南,但没有提到任何等宽的东西.Windows 8上是否有一些我可以使用的内置字体?

c# fonts xaml windows-store-apps

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

If/Then中的F#推断类型

如果我有以下功能:

let myFunc x y =
  if y = 0 then 1
  x
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Program.fs(58,17): error FS0001: This expression was expected to have type
    unit    
but here has type
    int    
Run Code Online (Sandbox Code Playgroud)

为什么编译器期望'unit'而不是int?

f# type-inference unit-type

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

一个恒定缓冲区可以用于许多对象吗?

我是Direct3D 11的新手,我在理解如何基于每个对象更新常量(和其他缓冲区)方面遇到了一些麻烦.我在一些简单的代码,我试图让两个四边形绘制到屏幕,但在不同的位置.这是我用来绘制它们的代码.

// ------------------------------------------------------------------------------------------------------------------------------
void QuadShape::UpdateBuffers(ID3D11DeviceContext* pContext)
{
  // We need to know about our verts + set the constant buffers...
  // NOTE: We only really need to do this when the buffer data actually changes...
  XMMATRIX translate = XMMatrixTranspose(XMMatrixTranslation(X, Y, 0));
  XMStoreFloat4x4(&ConstData.World, translate);

  D3D11_MAPPED_SUBRESOURCE mappedResource;
    ZeroMemory(&mappedResource, sizeof(D3D11_MAPPED_SUBRESOURCE));

  pContext->Map(ConstBuf, 0, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource);
  memcpy(mappedResource.pData, &ConstData, sizeof(ObjectConstBuffer));
  pContext->Unmap(ConstBuf, 0);

}

// ------------------------------------------------------------------------------------------------------------------------------
void QuadShape::Draw(ID3D11DeviceContext* pContext)
{
  UpdateBuffers(pContext);
  pContext->DrawIndexed(_VertCount, _StartVert, 0);
}
Run Code Online (Sandbox Code Playgroud)

您可以看到我正在根据对象的当前X/Y位置计算转换矩阵,并将其映射到对象的常量缓冲区,表示为"ConstBuf".我遇到的问题来自于这样一个事实:即使我已经验证了为每个四元组计算的矩阵确实不同,并且缓冲区确实是动态的,所有四边形结尾都被绘制在同一位置.

我猜测正在发生的事情是,映射的资源只是被最后一个矩阵所覆盖,但我认为MAP_WRITE_DISCARD应该避免这种情况.我很困惑,我怎样才能为每个对象使用不同的常量缓冲区,让它们显示在不同的位置?

c++ directx directx-11

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

具有自动删除项目的 c# 集合

可能的重复:
固定大小的队列,它会在新的队列中自动将旧值出列

是否有一个集合会在添加新项目时自动删除旧项目?假设我有一个限制为十个项目的列表。添加第十一项后,删除第一项,容量仍为十。好像会有这样的东西,但是我找不到。有任何想法吗?

c# collections

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

表现:Vector2 vs. x/y

我有一些旧的游戏代码,我正在移植到XNA.我的所有对象都使用x/y(float)和Vector2来描述各种位置等.

除了语法之外,有一个很好的基于性能的原因将我的旧x/y类型单位转换为Vector2,或者我可以只做一个直接端口而不必担心它?

c# performance xna

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

禁用TFS结帐唠叨

有没有办法让TFS从解决方案资源管理器菜单中执行结账,而不会问我一堆愚蠢的问题?我只想点击'checkout for edit'并让它检查出所有默认设置的文件.相反,我得到一个非常烦人的对话框,其中包含一些我不关心的选项.有任何想法吗?

c# tfs tfs2010 visual-studio-2012

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

Powershell:粘贴最后一个命令

有没有办法让 powershell 将最后一个命令粘贴到当前的命令行中?

例如,假设我输入:

get-service
Run Code Online (Sandbox Code Playgroud)

并决定我想要更多信息,所以我会输入:

get-help get-service
Run Code Online (Sandbox Code Playgroud)

相反,似乎应该有一条捷径,这样我就可以这样:

get-help %x
Run Code Online (Sandbox Code Playgroud)

并获得相同的结果,因为本示例中的快捷方式%x将替换为之前的命令get-service。甚至可以通过键盘上的按钮来获得相同的结果。当然,这是一个人为的示例,但看起来它在更复杂的场景中确实很有用。有类似的东西吗?

powershell powershell-3.0

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

D3D11CreateDeviceAndSwapChain Unresolved External

这完全让我疯狂.当我编译我的程序时,我收到以下错误消息:

错误LNK2019:未解析的外部符号_D3D11CreateDeviceAndSwapChain @ 48

我知道我有所有正确的lib /和include目录(x86),我已经跟踪了这个问题,如果我去定义(F12),我得到两个符号,一个用于DirectXSDK安装目录,和一个在"c:\ Program Files(x86)\ Windows Kits\8.0\Include\um".

对于我的生活,我不知道该怎么做.我已经浏览了所有包含/排除目录,我无法解决它,我不知道该怎么做.谁能帮我?

c++ windows directx windows-7-x64

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