在具有单个字符串属性的简单引用类型的大序列中搜索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) 如果碰巧设置错误,是否可以通过Visual Studio 2013修改远程Git存储库的URL?我得到了"着名的"(并没有很大帮助)的错误,上面写着:
"等等,等等......这种运输没有实施.抱歉."
是否可以通过命令提示符进行此更改?
我知道关于命令,git remote remove但配置的名称应该遵循,我不知道如何确定它是什么.
一般的问题是单元测试有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) 不确定这是否是一个新问题所以如果你有任何问题,请参考任何好的来源.
我的团队正在开发一个大型的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更是加载.大多数客户端代码没有使用这些附加功能,它是故意使用的 - 所以我们将决定我们最好坚持使用哪种方式:
说实话,我还没有运行性能基准测试,一旦我有时间,我会做.如果有人有结果/想法会非常有帮助.
一个奇怪的问题:
如果当前进程的堆栈已满,如何显示着名的"Process因StackOverflowException而终止"屏幕?是运行时保存一些寄存器以使其正常降级,还是内部技巧可能会运行另一个显示此屏幕的临时进程?
PS了解这个问题的可能答案可以帮助某人建立自己的"优雅降级(假设显示此类消息的功能非常有限)"来自类似的关键故障情况的机制.

我已经在互联网上阅读了整个SQL vs NoSql的内容(花了几天时间就可以了,所以我有权这样称呼它:))并且仍然有一种感觉我远离能够决定哪个平台我们的产品应该配合.我们即将开始设计一套主要适合CRM/CMS类别的新产品,我会说几个B2B,B2C,B2E,电子商务以及其他金融和银行应用程序.所以这将是一个复杂的系统,有许多数据库可以解决不同的任务.让我们专注于数据库领域.我发现这篇文章对于企业界的数据库系统特别有趣.所以实际问题是:
是否更好地保持良好的旧RDBMS,如MySql(是的,它必须是开源的,这是唯一的要求)或者从NoSQL开始,例如MongoDB/CouchDB(我猜Cassandra对于CRM来说太可扩展了,它不是将成为一个非常分布式和高度集中的系统.最多4个强大的人将完美地完成这项工作)???
作为额外的细节,我可以说很多媒体资料和文档将参与系统,这对于商店,市场,人力资源系统来说是必须的.并且存储的消费者将主要是网络应用程序.
将数据库后端拆分为两部分会更好:为关系数据提供RDBMS,为媒体存储提供NoSQL吗?
你的想法,如果你有实例或这样的经验任何帮助将极大地帮助避免未来的问题.所以提前谢谢你们!
我完全理解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
找不到一种明显的方法从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#中的前后递增/递减运算符
请考虑以下简单代码段:
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)
很明显,在同一语句中混合前/后增量或减量对于编译器来说并不是一个理想的特性.
但
++x++一样的++x + 1?甚至考虑到Eric Lippert 在这里发现的所有细微之处.它们都是关于行为而不是与操作数的关系以及CSC输出的消息.x是不是变量?就像,在++x + 1那个版本中,操作数是相同的x.它同样适用于预增量运算符++.所以这仍然是一个有用的限制似乎有点奇怪的编译器错误.输出是否更有意义,比如说,"预增量和后增量运算符不能同时应用?c# ×4
.net ×2
performance ×2
asp.net-mvc ×1
async-ctp ×1
asynchronous ×1
bdd ×1
couchdb ×1
exception ×1
git ×1
javascript ×1
linq ×1
memory ×1
mongodb ×1
mysql ×1
nosql ×1
oop ×1
rdbms ×1
tdd ×1
unit-testing ×1
url ×1