小编Arm*_*ian的帖子

Find()与FirstOrDefault()的性能

类似的问题:
Find()vs. Where().FirstOrDefault()

在具有单个字符串属性的简单引用类型的大序列中搜索Diana有一个有趣的结果.

using System;
using System.Collections.Generic;
using System.Linq;

public class Customer{
    public string Name {get;set;}
}

Stopwatch watch = new Stopwatch();        
    const string diana = "Diana";

    while (Console.ReadKey().Key != ConsoleKey.Escape)
    {
        //Armour with 1000k++ customers. Wow, should be a product with a great success! :)
        var customers = (from i in Enumerable.Range(0, 1000000)
                         select new Customer
                         {
                            Name = Guid.NewGuid().ToString()
                         }).ToList();

        customers.Insert(999000, new Customer { Name = diana }); // Putting Diana at the end :)

        //1. System.Linq.Enumerable.DefaultOrFirst() …
Run Code Online (Sandbox Code Playgroud)

.net c# linq performance

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

通过Visual Studio 2013将URL更改为远程Git存储库?

如果碰巧设置错误,是否可以通过Visual Studio 2013修改远程Git存储库的URL?我得到了"着名的"(并没有很大帮助)的错误,上面写着:

"等等,等等......这种运输没有实施.抱歉."

是否可以通过命令提示符进行此更改?

我知道关于命令,git remote remove但配置的名称应该遵循,我不知道如何确定它是什么.

git url version-control visual-studio visual-studio-2013

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

安排行动断言替代方案

一般的问题是单元测试有AAA的替代模式吗?如果,是的,看一些例子,听听他们的利弊是非常有趣的.

并且作为AAA测试的最简单示例(在c#中,为简单起见使用var):

// Arranging
var annualSalary = 120000M;
var period = 3; // for a quarter profit
var calc = new SalaryCalculator();

// Acting
var result = calc.CalculateProfit(annualSalary, period); 

// Assertion
Assert.IsEqual(40000, result);
Run Code Online (Sandbox Code Playgroud)

tdd bdd unit-testing arrange-act-assert

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

原型污染与专用库对象的性能和记忆

不确定这是否是一个新问题所以如果你有任何问题,请参考任何好的来源.

我的团队正在开发一个大型的JS图表项目,我们继承了之前的开发人员,他们大量使用内置对象原型来添加可重用的代码.我们在Date,Object和其他内部对象中添加了许多新的实用程序函数,所以我猜他们就这样了,因为改变原型会提供更直观的API.

另一方面,我们的组件会遇到性能/内存问题,我们会应用所有可能的优化和最佳实践.我找不到关于API设计的一个.我试图弄清楚是否最好使用库代码为内置对象构建原型,而不是通过某种命名空间模式将它们组合在专用对象中.

问题是哪种设计更好?并且他们中的一个会获得另一个的性能和/或记忆吗?

Date.prototype.my_custom_function = new function (...) {...};
var period = new Date();
period.my_custom_function();
Run Code Online (Sandbox Code Playgroud)

VS

DateLib.my_custom_function // defined in a DateLib function
var period = new Date();
DateLib.my_custom_function(period);
Run Code Online (Sandbox Code Playgroud)

谢谢,各位,任何帮助表示赞赏!

EDIt:主要的问题是我们的组件最终成为一个笨拙的JS野兽,减慢了一些移动设备,特别是旧的,如iPad1和早期的Androids ......我们已经做了很多优化,但我仍然看到几个有问题部分.我想确定内置的原型污染是否是另一个值得研究的候选者.特别是,这些Date人和大家Object都装满了典型的图书馆代码.例如,实际上它my_custom_function是一个很大的功能,它不是Date代码启动时唯一的原型.该Object更是加载.大多数客户端代码没有使用这些附加功能,它是故意使用的 - 所以我们将决定我们最好坚持使用哪种方式:

  • 继续使用原型污染设计
  • 将可重用API重构为单独的库静态对象

说实话,我还没有运行性能基准测试,一旦我有时间,我会做.如果有人有结果/想法会非常有帮助.

javascript oop performance

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

如何出现着名的"Process因StackOverflowException而终止"屏幕?

一个奇怪的问题:

如果当前进程的堆栈已满,如何显示着名的"Process因StackOverflowException而终止"屏幕?是运行时保存一些寄存器以使其正常降级,还是内部技巧可能会运行另一个显示此屏幕的临时进程?

PS了解这个问题的可能答案可以帮助某人建立自己的"优雅降级(假设显示此类消息的功能非常有限)"来自类似的关键故障情况的机制.

在此输入图像描述

.net memory exception

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

适用于CRM,CMS和其他金融系统的RDBMS与NoSQL

我已经在互联网上阅读了整个SQL vs NoSql的内容(花了几天时间就可以了,所以我有权这样称呼它:))并且仍然有一种感觉我远离能够决定哪个平台我们的产品应该配合.我们即将开始设计一套主要适合CRM/CMS类别的新产品,我会说几个B2B,B2C,B2E,电子商务以及其他金融和银行应用程序.所以这将是一个复杂的系统,有许多数据库可以解决不同的任务.让我们专注于数据库领域.我发现这篇文章对于企业界的数据库系统特别有趣.所以实际问题是:

是否更好地保持良好的旧RDBMS,如MySql(是的,它必须是开源的,这是唯一的要求)或者从NoSQL开始,例如MongoDB/CouchDB(我猜Cassandra对于CRM来说太可扩展了,它不是将成为一个非常分布式和高度集中的系统.最多4个强大的人将完美地完成这项工作)???

作为额外的细节,我可以说很多媒体资料和文档将参与系统,这对于商店,市场,人力资源系统来说是必须的.并且存储的消费者将主要是网络应用程序.

将数据库后端拆分为两部分会更好:为关系数据提供RDBMS,为媒体存储提供NoSQL吗?

你的想法,如果你有实例或这样的经验任何帮助将极大地帮助避免未来的问题.所以提前谢谢你们!

mysql rdbms couchdb mongodb nosql

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

ASP.NET WebApi中的Fire-forget和单向调用

我完全理解HTTP世界不是单向调用的最佳选择,WebApi最适合HTTP冗长通信.毫无疑问,WCF是这里的赢家.但是,如果你已经有一个暴露了一堆动词的ApiController,在某些时候你也需要一个单向调用呢?并且您不希望为此托管/维护其他服务(WCF).

Task<HttpResponseMessage> response = client.PostAsJsonAsync<Log>("api/log", log)
Run Code Online (Sandbox Code Playgroud)

如果你没有处理响应,那么你就会得到类似于点火的东西.这是WebApi中的唯一方法还是另一种解决方案?

c# asynchronous task-parallel-library async-ctp asp.net-web-api

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

如何在ActionFilter属性中的ASP.NET WebApi中重定向到另一个区域

找不到一种明显的方法从WebApi重定向Web API FilterAttribute到不同区域下的完全相同的控制器.您是否知道WebApi替代方案或重定向到像我们以前在MVC中使用的区域的正确方法OnActionExecuting

我知道有一种方法可以通过重置Response对象并使用Location头来重新定位执行上下文来实现这一点:

var response = Request.CreateResponse(HttpStatusCode.Found);
response.Headers.Location = new Uri("http://www.google.com");
actionContext.Request = response;
Run Code Online (Sandbox Code Playgroud)

仍然不知道如何指定区域,但明确指出它在网址中.

基本上这里是我想将请求重定向到另一个区域的地方,最好没有完整的客户端重定向.

public override void OnActionExecuting(HttpActionContext actionContext) {}
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

c# asp.net-mvc asp.net-web-api

5
推荐指数
0
解决办法
960
查看次数

同时预增量和后增量或混合前置增量

可能重复:
C#中的前后递增/递减运算符

请考虑以下简单代码段:

int x = 0;
int y = ++x + 1; // forks fine, gives y 2 (no doubt :) )

int x = 0;
int y = ++x++; // Error: The operand of an increment or decrement operator must be a variable, property or indexer.
Run Code Online (Sandbox Code Playgroud)

很明显,在同一语句中混合前/后增量或减量对于编译器来说并不是一个理想的特性.

  1. 事实上,是不是++x++一样的++x + 1?甚至考虑到Eric Lippert 在这里发现的所有细微之处.它们都是关于行为而不是与操作数的关系以及CSC输出的消息.
  2. 事实上,x是不是变量?就像,在++x + 1那个版本中,操作数是相同的x.它同样适用于预增量运算符++.所以这仍然是一个有用的限制似乎有点奇怪的编译器错误.输出是否更有意义,比如说,"预增量和后增量运算符不能同时应用?
  3. 你们知道这个限制的任何隐藏的编译器视角原因,而不是代码可用性吗?

c#

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