这在C#5.0中正常工作(按预期方式):
var actions = new List<Action>();
foreach (var i in Enumerable.Range(0, 10))
{
actions.Add(() => Console.WriteLine(i));
}
foreach (var act in actions) act();
Run Code Online (Sandbox Code Playgroud)
打印0到9.但是这个显示10次10次:
var actions = new List<Action>();
for (var i = 0; i < 10; i++)
{
actions.Add(() => Console.WriteLine(i));
}
foreach (var act in actions) act();
Run Code Online (Sandbox Code Playgroud)
问题:这是我们在5.0之前的C#版本中遇到的问题; 所以我们不得不使用一个循环局部占位符来进行闭包,它现在已经修复了 - 在C#5.0中 - 在"foreach"循环中.但不是"for"循环!
这背后的原因是什么(也没有解决for
循环问题)?
我找不到用于部署Go Web应用程序的mod_go.有没有其他方法可以在Go中使用Apache Web服务器(甚至是IIS)运行Web应用程序?
更新:现在做了近一年的全职工作; 这样做(Go with Apache)使Go的目的无效(高度并发的性能).我正在使用nginx作为http/https的反向代理,并且很好地支持我的Go后端.虽然在使用Go时你必须在webapps上改变一下你的心态.
TPL使用任务计划程序来协调任务.根据官方文档,默认任务调度程序使用线程池,但如果显示TaskCreationOptions.LongRunning
选项,则它将为该任务创建专用线程(A).
问题:截至目前,Visual Studio 2010的MSDN文档尚未就绪,当前的在线MSDN尚未最终确定; 有谁知道(A)是真还是假?
c# scheduled-tasks .net-4.0 threadpool task-parallel-library
如何 - 如果可能 - 我可以使用NLog作为翻转文件记录器吗?仿佛:
我希望31天内最多可以有31个文件,当新的一天开始时,如果有一个旧日志文件##.log,那么它应该被删除但是在那一天所有的日志都被附加并且至少会在那里为期27天.
TypeScript对类型声明的顺序敏感吗?
更改类型的顺序会导致Angular 2(beta.0)中的错误,其中(AFAIK)是使用TypeScript本身实现的(这就是为什么这个错误看起来如此奇怪且与我无关):
angular2-polyfills.js:138 Error: Cannot read property 'prototype' of undefined(…)
假设我们有一个文件t1.ts
:
export class AuthResponse extends JsonResponse { }
export class JsonResponse {
public code: ResultCode;
}
export enum ResultCode { }
Run Code Online (Sandbox Code Playgroud)
启动应用程序时,我们会在客户端看到上述错误.但是如果我们在这个文件中颠倒声明的顺序,那么错误就会消失(只是为了记录,目前我正在向前推进,记住它并且它有效).
要重现此错误,我们还需要五个文件:
t2.ts
:
import {AuthResponse, JsonResponse, ResultCode} from './t1'; // this order?
export class DummyAction {
doSomething() {
console.log('test, starting ...');
var v = new AuthResponse();
return v;
}
}
Run Code Online (Sandbox Code Playgroud)
app.component.ts
:
import {Component, OnInit} from 'angular2/core';
import {DummyAction} from './components/t2';
@Component({
selector: 'root-app',
templateUrl: …
Run Code Online (Sandbox Code Playgroud) 我想要我的应用节目:
press any key to exit ...
当我按任意键时,它会退出.
我怎样才能做到这一点?
注意:我用谷歌搜索了但是我发现的所有内容都需要在最后输入.我想要像Console.ReadKey()
C#中的东西.
我正在运行MS Windows.
有没有办法检测哪些程序或模块正在监听键盘钩子?通过Sysinternals可能吗?
(如果我问的是一个太吵闹的问题,请提前使用.我是OpenCV的初学者.我已经完成了一些教程,但我还没有很好地掌握它的概念.)
问题:如何使用OpenCV进行头部检测(不是面部检测) - 例如在公共汽车或房间内的照片中?
注意:我不想做面部检测; 只是检测头发以确定照片中的人数.不幸的是 - 对我来说 - 我发现的那些教程和文档都是关于人脸检测而不是头部检测.
谢谢
我想使用OpenCV(或Emgu CV)开发一个"人数统计系统".
请指导我如何实现或引导我一些示例或开源项目.
(我做了一些工作:提取差异然后阈值删除背景,使用运动历史等等;仍然没有好结果.)
编辑1:我正在计算一个高人流量(其中十几个可能同时出现).
编辑2:必须至少80%准确.人们走过一扇近5米宽的门.问题是我无法控制相机的位置或角度.相机在距离10米处高度2.5米的地方喊叫.
谢谢
在该文件MongoClient
,MongoServer
,MongoDatabase
和MongoCollection<T>
我看到它说,他们是线程安全的.
问题:这是否意味着我可以在类中拥有(例如)静态字段并从任何Task
/中访问它们Thread
?
喜欢:
public static MongoClient Client = new MongoClient(Properties.Settings.Default.MongoConnStr);
public static MongoServer Server = Client.GetServer();
public static MongoDatabase DraftDB = Server.GetDatabase("draftdb");
public static MongoCollection<MyDoc> Docs = Program.DraftDB.GetCollection<Location>("mydocs");
Run Code Online (Sandbox Code Playgroud)
特别关于MongoCollection<T>
; 我想确保某些东西var cursor = Docs.Find(query).SetLimit(50);
不会在MongoCollection<T>
(它的静态状态是精确的)上执行变异.