小编Nic*_*ick的帖子

将float []转换为byte []的最快方法是什么?

我想获得一个byte[]float[]尽可能快地,不通过整个数组循环(通过铸造,可能).不安全的代码很好.谢谢!

我正在寻找比浮点数组长4倍的字节数组(字节数组的维数将是浮点数组的4倍,因为每个浮点数由4个字节组成).我将它传递给BinaryWriter.

编辑:对那些尖叫"过早优化"的评论家:我在优化之前使用ANTS探查器对此进行了基准测试.速度显着提高,因为该文件具有直写缓存,并且浮点数组的大小恰好与磁盘上的扇区大小相匹配.二进制编写器包装使用pinvoke'd win32 API 创建的文件句柄.优化发生,因为这减少了函数调用的数量.

而且,关于内存,这个应用程序创建了大量使用大量内存的缓存.我可以分配一次字节缓冲区并重复使用它多次 - 在这个特定实例中的双内存使用量相当于应用程序整体内存消耗的舍入误差.

所以我想这里的教训不是做出过早的假设;)

c# unsafe

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

C#中的工程符号?

是否有任何代码(或内置函数)允许以工程符号输出浮点数?

例如,1.5e-4将显示为,150µ并且5e-3将显示为5m.

c# string

11
推荐指数
4
解决办法
6919
查看次数

如何杀死MFC线程?

我生成一个线程,使用AfxBeginThread它只是一个无限的while循环:

UINT CMyClass::ThreadProc( LPVOID param )
{
  while (TRUE)
  {
      // do stuff
  }
  return 1;
}
Run Code Online (Sandbox Code Playgroud)

如何在类析构函数中删除此线程?

我觉得有点像

UINT CMyClass::ThreadProc( LPVOID param )
{
  while (m_bKillThread)
  {
      // do stuff
  }
  return 1;
}
Run Code Online (Sandbox Code Playgroud)

然后设置m_bKillThreadFALSE在析构函数.但是我仍然需要在析构函数中等待,直到线程死亡.

c++ mfc multithreading

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

如何使用DDD将Active Directory集成到.NET应用程序中?

如何将Active Directory对象(用户,组等)集成到DDD .NET应用程序中?您的存储库是什么样的,您如何处理LDAP会话,事务和工作单元?请注意,我不是在讨论简单的身份验证/授权方案,而是在AD对象是应用程序核心域模型的一部分时.

我正在开发一个为AD用户配置/取消配置的应用程序,我很好奇其他人正在做什么来将AD对象引入他们的DDD应用程序.我想你并没有在你的应用程序中拖动DirectoryEntry对象,但我没有找到任何好的ORM类型的LDAP对象工具(可能是OLM - 对象 - LDAP映射?).

编辑:关于这个问题的更多背景信息是在Sharp Architecture项目的这篇论坛帖子中.

.net domain-driven-design active-directory s#arp-architecture

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

在列表中找到匹配的最干净的方法

在列表中查找内容的最佳方法是什么?我知道LINQ有一些不错的技巧,但我们也得到了C#2.0的建议.让我们为这个通用代码模式获得最佳重构.

目前我使用这样的代码:

// mObjList is a List<MyObject>
MyObject match = null;
foreach (MyObject mo in mObjList)
{
    if (Criteria(mo))
    {
        match = mo;
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

要么

// mObjList is a List<MyObject>
bool foundIt = false;
foreach (MyObject mo in mObjList)
{
    if (Criteria(mo))
    {
        foundIt = true;
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

c# refactoring

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

快速平均而不分裂

我有一个二进制搜索循环,它在执行路径中被多次命中.

剖析器显示搜索的划分部分(找到给定搜索范围的高和低索引的中间索引)实际上是搜索中最昂贵的部分,大约为4.

(我认为)有效的二进制搜索找到确切的中间值并不重要,只是中间附近的值,在任何一个方向都没有偏差.

是否有一个有点笨拙的算法来mid = (low + high) / 2更快地替换某些东西?

编辑:语言是C#,但是等效的位操作在任何语言中都有效(尽管它可能没有性能优势),这就是我离开C#标签的原因.

language-agnostic algorithm bit-manipulation binary-search

9
推荐指数
4
解决办法
8361
查看次数

确定加载的程序集

如何确定我的.NET桌面应用程序已加载的所有程序集?我想将它们放在about box中,这样我就可以通过电话查询客户,以确定他们在PC上有什么版本的XYZ.

很高兴看到托管和非托管程序集.我意识到列表会变长,但我打算对它进行增量搜索.

.net dll assemblies winforms

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

如何收集客户反馈?

什么是关闭循环并让桌面应用程序"回家"并提供客户反馈的最佳方式?现在我们的代码将登录我们的SMTP服务器并向我发送一些电子邮件.

feedback user-experience

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

ASP.NET MVC性能突然变得非常慢

我正在使用Billy McCafferty相当出色的S#arp架构.一切都很快,很快就开始运转.

然后我更新到最新的ASP.NET MVC RC.这意味着我必须得到S#arp的最新主干.

另外,两周前,我从XP更新到Vista(32位)

我的问题是表现突然变得悲惨.

一切似乎都有效,但它变得非常慢.每个http请求需要1秒钟.是的,一秒钟 - 您可以想象的是,像网络服务器这样的页面加载由一个巨大的,匆忙构造的鼠标滚轮中的关节炎驴提供动力.

页面上的每个脚本或图像都会增加一秒的加载时间.

  • 我没有打开log4net,所以我认为不是这样.
  • 这是在主页上运行,因此只有非常小的数据库内容(无论如何都非常快)
  • 对于简单的图像也是如此,所以我认为它必须是路由或Web服务器级别的东西.

有什么想法可能是什么?

.net asp.net-mvc performance s#arp-architecture windows-vista

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

如何将项目从一个菜单移动到另一个菜单?

在Visual Studio设计器中,如何将菜单项从一个菜单移动到另一个菜单?

我认为拖放会起作用,但它似乎只能在我的菜单中工作.

我通常会手工编辑.Designer.cs文件.

c# visual-studio-2005 winforms

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