小编Bin*_*ony的帖子

依赖注入与工厂模式

引用依赖注入的大多数示例,我们也可以使用工厂模式解决.看起来在使用/设计时,依赖注入和工厂之间的差异是模糊的还是薄的.

一旦有人告诉我你如何使用它会有所作为!

我曾经使用StructureMap一个DI容器来解决问题,后来我重新设计它以使用一个简单的工厂并删除了对StructureMap的引用.

任何人都可以告诉我他们之间的区别是什么,在哪里使用什么,这里最好的做法是什么?

design-patterns dependency-injection factory-pattern

484
推荐指数
12
解决办法
16万
查看次数

在.NET中,哪个循环运行得更快,'for'或'foreach'?

在C#/ VB.NET/.NET中,哪个循环运行得更快,for或者foreach

自从我读了一个for循环工程快于foreach环路很久以前我以为这对所有集合,泛型集合,所有阵列,等真正站在

我搜索谷歌并发现了一些文章,但其中大多数都没有结果(阅读文章的评论)和开放式.

什么是理想的是列出每个场景和相同的最佳解决方案.

例如(只是它应该如何的一个例子):

  1. 迭代1000多个字符串的数组 - for比...更好foreach
  2. 迭代IList(非泛型)字符串 - foreach比...更好for

在网上找到的一些参考文献:

  1. Emmanuel Schanzer的原创宏伟文章
  2. CodeProject FOREACH Vs. 对于
  3. 博客 - foreach或不是foreach,这就是问题
  4. ASP.NET论坛 - NET 1.1 C#forvsforeach

[编辑]

除了可读性方面,我对事实和数据非常感兴趣.有些应用程序的最后一英里性能优化受到挤压很重要.

.net c# performance for-loop

322
推荐指数
20
解决办法
19万
查看次数

你在MSIL中可以做些什么,你不能用C#或VB.NET做什么?

用.NET语言编写的所有代码都编译为MSIL,但是只有使用MSIL才能直接执行特定的任务/操作吗?

让我们在MSIL中比C#,VB.NET,F#,j#或任何其他.NET语言更容易完成.

到目前为止我们有这个:

  1. 尾递归
  2. 通用Co/Contravariance
  3. 重载仅在返回类型上有所不同
  4. 覆盖访问修饰符
  5. 有一个不能从System.Object继承的类
  6. 过滤的异常(可以在vb.net中完成)
  7. 调用当前静态类类型的虚方法.
  8. 获取值类型的盒装版本的句柄.
  9. 做一个尝试/错误.
  10. 使用禁用名称.
  11. 为值类型定义自己的无参数构造函数.
  12. 使用raise元素定义事件.
  13. CLR允许一些转换,但C#不允许转换.
  14. 做一个非main()方法作为.entrypoint.
  15. 直接使用本机int和本机unsigned int类型.
  16. 玩瞬态指针
  17. MethodBodyItem中的emitbyte指令
  18. 抛出并捕获非System.Exception类型
  19. 继承枚举(未验证)
  20. 您可以将字节数组视为(4x更小)整数数组.
  21. 您可以使字段/方法/属性/事件具有相同的名称(未验证).
  22. 您可以从自己的catch块分支回try块.
  23. 您可以访问famandassem访问说明符(protected internal是fam assem)
  24. 直接访问<Module>类以定义全局函数或模块初始值设定项.

.net c# clr cil

161
推荐指数
13
解决办法
9231
查看次数

HTML的隐藏功能

HTML是使用最广泛的语言(至少作为标记语言)尚未获得应有的信誉.
考虑到它已经存在了这么多年,诸如FORM/INPUT控件之类的东西仍然保持不变,没有添加新的控件.

至少从现有功能来看,您是否知道任何不为人所熟知但非常有用的功能.

当然,这个问题是这样的:

JavaScript的
隐藏功能隐藏的CSS
功能隐藏C#的
功能隐藏的VB.NET
功能隐藏的Java
隐藏功能隐藏的功能经典ASP
隐藏的ASP.NET
功能隐藏的Python
功能隐藏的TextPad
功能隐藏的Eclipse功能

不要提及HTML 5.0的功能,因为它在工作草案中

请为每个答案指定一个功能.

html xhtml language-features hidden-features

110
推荐指数
32
解决办法
4万
查看次数

TFS与SVN

我即将启动一个项目(.NET),需要在TFS和SVN之间做出决定.

我更习惯SVN(与龟客户端),CVS和VSS.TFS是否具有SVN中的所有功能

有没有人从SVN切换到TFS并发现它值得吗?
如果我们需要使用TFS,我们可能还需要Visual Studio.

[编辑]
因为我们已经拥有TFS的许可证,所以钱不是一个考虑因素.我对TFS vs SVN的Source Control功能更感兴趣,当然其他功能列表也很受欢迎.

.net svn version-control tfs configuration-management

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

何时不使用lambda表达式

Stack Overflow正在回答很多问题,成员们指定如何使用lambda表达式解决这些现实世界/时间问题.

我们是否过度使用它,我们是否在考虑使用lambda表达式对性能的影响?

我发现了一些文章,探讨了lambda与匿名委托vs for/ foreach循环对不同结果的性能影响

  1. 匿名委托与Lambda表达式与函数调用性能
  2. foreach与List.ForEach的表现
  3. .NET/C#循环性能测试(FOR,FOREACH,LINQ和Lambda).
  4. DataTable.Select比LINQ更快

选择合适的解决方案时,评估标准应该是什么?除了明显的原因,它使用lambda时更简洁的代码和可读性.

.net c# lambda anonymous-methods

52
推荐指数
5
解决办法
3万
查看次数

如何使用单引号sql server 2005插入文本

我想在sql server 2005数据库中将单引号Eg john的文本插入到表中

sql quotes sql-server-2005 quotations

36
推荐指数
4
解决办法
16万
查看次数

有用的PowerShell一个衬里

提供一行有用的PowerShell脚本,请为每个答案提供一个脚本.

这里有一个类似的问题,但是这个问题只给出了带脚本的页面的链接,在这里逐一给出答案,并提供了最常用或最有用的脚本的贡献列表.

  1. 列出最新版本的文件

    ls -r -fi *.lis | sort @{expression={$_.Name}}, @{expression={$_.LastWriteTime};Descending=$true} | select Directory, Name, lastwritetime | Group-Object Name | %{$_.Group | Select -first 1}

  2. gps programThatIsAnnoyingMe | kill

  3. 使用已注册的程序打开文件(start例如start foo.xls)

    ii foo.xls

  4. 检索并显示系统特殊文件夹的路径

    [enum]::getvalues([system.environment+specialfolder]) | foreach {"$_ maps to " + [system.Environment]::GetFolderPath($_)}

  5. 将环境值复制到剪贴板(所以现在你知道如何使用剪贴板!)

    $env:appdata | % { [windows.forms.clipboard]::SetText($input) }
    要么
    ls | clip

使用SnapIns

  1. TFS中两个变更集编号之间的文件

    Get-TfsItemHistory <location> -Recurse -Version <label1>~<label2> | % { $(Get-TfsChangeset $_.ChangeSetID).Changes } | % { …

.net powershell scripting scripting-language

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

DataTable.Select vs DataTable.rows.Find vs foreach vs Find(Predicate <T>)/ Lambda

我有一个缓存在内存中的DataTable /集合,我想用它作为源来生成自动完成文本框的结果(当然使用AJAX).我正在评估各种选项以快速获取数据.数据表中集合/行中的项目数可以从10000到2,000,000不等.(因此,我们不会转移,暂时假设已做出决定,我有足够的RAM,我将使用缓存而不是数据库查询)

我有一些额外的业务逻辑用于此处理; 我必须priority根据集合中的列(int)确定自动完成列表的优先级.因此,如果我有人搜索Micro并且我会说出20个以单词/句子开头的结果,Micro那么我会选择具有最高优先级的前10个结果项.(因此需要具有与字符串值相关联的优先级属性).

集合项已按字母顺序排序.

在这种情况下,什么是最好的解决方案.
1.使用DataTable.Select(
2. 使用DataTable.Rows.Find( .
3.使用自定义集合与的foreach或通过其值进行迭代.
4.使用泛型集合与匿名委托或lambda(因为两者给予同样的性能?)

.net optimization lambda anonymous-methods

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

ASP.NET工作进程是否仍然以31kb的块返回数据

ASP.NET工作进程是否仍然以31Kb的块返回数据

这篇2004年5月撰写的MSDN文章规定了以下内容.

使用ASP.NET进程模型时,ASP.NET辅助进程将响应发送回客户端,它首先通过IIS以31千字节(KB)的块发送它们.这适用于.NET Framework 1.1,但在将来的版本中可能会更改.ASP.NET必须通过IIS发送的31 KB以上的块,页面运行速度越慢.您可以通过浏览页面,查看源,然后将文件保存到磁盘来确定ASP.NET对页面所需的块数.要确定块的数量,请将页面大小除以31.

自2.0,3.5和4.0以来,这种架构是否已经改变?
如果是这样,那么每个新版.NET的新块大小是什么?

[编辑]
自发布以来已经超过两周没有correct回复:(
请不要提供推测性答案

.net asp.net iis .net-4.0

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