小编Cri*_*scu的帖子

如何在PyCharm中选择Python版本?

我有PyCharm 1.5.4并使用"Open Directory"选项打开IDE中文件夹的内容.

我选择了Python 3.2版(它显示在"外部库"节点下).

我如何选择另一个版本的Python(我已经在我的机器上安装),以便PyCharm使用该版本?

python configuration pycharm

113
推荐指数
5
解决办法
15万
查看次数

是否有通用的Task.WaitAll?

我启动了一些并行任务,如下所示:

var tasks =
    Enumerable.Range(1, 500)
    .Select(i => Task.Factory.StartNew<int>(ProduceSomeMagicIntValue))
    .ToArray();
Run Code Online (Sandbox Code Playgroud)

然后加入他们

Task.WaitAll(tasks);
Run Code Online (Sandbox Code Playgroud)

在最后一行,我得到一个蓝色波浪形标记tasks,并带有警告信息:

__PRE__

我理解为什么我会收到这条消息,但有没有办法解决这个问题呢?(例如,像通用版本Task.WaitAll()?)

c# generics covariance task-parallel-library

60
推荐指数
4
解决办法
9814
查看次数

MongoDB在嵌套字段中更新数据

我使用Mongo作为我的数据库.我有一个数据:

 {
   _id : '123'
   friends: [
     {name: 'allen', emails: [{email: '11111', using: 'true'}]}
   ]
 }
Run Code Online (Sandbox Code Playgroud)

现在,我想动机用户的朋友的电子邮件'的电子邮件,其_id是'123',我这样写:

db.users.update ({_id: '123'}, {$set: {"friends.0.emails.$.email" : '2222'} })
Run Code Online (Sandbox Code Playgroud)

这很简单,但是,当电子邮件数组有两个或更多数据时,这是错误的.所以,我的问题是:如何在嵌套文件中激活数据---只有两个或更多嵌套数组?谢谢.

nested mongodb

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

jQuery验证Uncaught TypeError:无法读取null的属性'nodeName'

我有以下代码:

$(document).ready
(
    function ()
    {
        $.validator.addMethod(
        "lessThan",
        function (value, element, param)
        {
            // bind to the blur event of the target in order to revalidate whenever the target field is updated            
            var target = $(param)
            .unbind(".validate-lessThan")
            .bind
            (
                "blur.validate-lessThan",
                function ()
                {
                    $(element).valid();
                }
            );
            return parseFloat(value) <= parseFloat(target.val());
        },
        "Valoarea trebuie sa fie mai mica sau egala decat valoarea initiala"
        );
    }
);


$('#gvListDetaliiElemTranAdaugare input[name$=Valoare]').each
    (
        function (index, domEle)
        {
            $(this).rules
            (
                "add"
                , {

                    required: true,
                    minlength: …
Run Code Online (Sandbox Code Playgroud)

validation jquery-validate

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

Task.Delay()的行为不符合预期

Task.Delay()没有按预期运行,或者说我不理解它应该做什么.我正试图Task在C#中解决问题,以及如何Thread在我的实现中替换s.

我想要做的是这样的事情:

  • 虽然如此
    • 打印一条线
    • 等一下,
    • 如果满足条件,则退出循环,否则保持循环

我已经通过Threads很好地实现了,但是所有很酷的孩子都说我应该使用Task,而不要触摸Thread.

所以对于代码我有这个(忽略[Test]- 这只是一种方便的尝试方法)

    [Test]
    public void ChattyTask()
    {
        var chattyTask = new Task(ChattyWriter);
        chattyTask.Start();
        chattyTask.Wait();
    }

    public void ChattyWriter()
    {
        int count = 0;
        while (true)
        {
            var message = String.Format("Chatty Writer number {0}", count);
            Trace.WriteLine(message);
            count++;
            Task.Delay(1000);

            if (count >= 20)
            {
                break;
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

当我运行它时,测试以毫秒为单位完成,而不是像我期望的那样在20秒内完成.如果我更换Task.Delay()Thread.Sleep(),一切正常,我也得到了一次打印第二.我试过添加asyncawait进入ChattyWriter(),但不仅它没有添加1秒延迟,它只打印一行而不是20行.

我究竟做错了什么?

可能它有助于描述我正在做的事情:我的项目使用外部API(RESTful),在我请求执行某些任务之后,我需要轮询API以检查任务是否已完成.外部任务可以长时间运行:1-15分钟.所以我需要在检查完成之间有一些延迟.并且可能有许多不同的并发进程与多个外部任务一起执行.我明白,如果我Thread.Sleep()在轮询时使用,那么同样的其他进程Thread将被阻止,没有充分的理由.

c# multithreading task-parallel-library

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

在LINQ中使用2 where子句的性能

在LINQ-to-Entities中,您可以通过执行以下操作来查询实体:

var students = SchoolContext.Students.Where(s => s.Name == "Foo" && s.Id == 1);
Run Code Online (Sandbox Code Playgroud)

我知道在幕后它将被翻译成类似于以下内容的SQL:

SELECT *
FROM Students
WHERE Name = 'Foo' AND Id = 1
Run Code Online (Sandbox Code Playgroud)

但是如果我写的话,是否存在差异(关于性能):

var students = SchoolContext.Students
                            .Where(s => s.Name == "Foo")
                            .Where(s => s.Id == 1);
Run Code Online (Sandbox Code Playgroud)

它会被翻译成相同的SQL查询吗?从我的理解.Where()将返回IEnumerable<T>所以第二个.Where()将过滤内存中的实体而不是转换IQueryable<T>为SQL,这是正确的吗?

c# sql linq entity-framework

18
推荐指数
2
解决办法
2096
查看次数

C#clear Console最后一项并替换新的?控制台动画

以下CSharp代码(仅示例):

Console.WriteLine("Searching file in...");

foreach(var dir in DirList)
{
    Console.WriteLine(dir);
}
Run Code Online (Sandbox Code Playgroud)

打印输出为:

Searching file in...

dir1

dir2

dir3

dir4

.

.

.
Run Code Online (Sandbox Code Playgroud)

题? 我怎样才能得到输出

Searching file in...

dir1  
Run Code Online (Sandbox Code Playgroud)

(然后清除dir1并打印dir2等等)所有下一个目录名称wiil将替换之前的目录

c# console.writeline

17
推荐指数
4
解决办法
3万
查看次数

c#在txt文件中搜索字符串

我想在txt文件中找到一个字符串,如果字符串比较,它应该继续读取行,直到我用作参数的另一个字符串.

例:

CustomerEN //search for this string
...
some text wich has details about customer
id "123456"
username "rootuser"
...
CustomerCh //get text till this string
Run Code Online (Sandbox Code Playgroud)

我需要细节与他们合作.

我正在使用linq来搜索"CustomerEN",如下所示:

File.ReadLines(pathToTextFile).Any(line => line.Contains("CustomerEN"))
Run Code Online (Sandbox Code Playgroud)

但现在我仍然坚持阅读行(数据)直到"CustomerCh"来提取细节.

c#

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

Visual Studio编辑器扩展选项对话框

我有一个简单的Visual Studio扩展,其构建方式与本演练中介绍的方式类似(使用IWpfTextViewCreationListener接口).

扩展使用了两种我想要配置的颜色.

如何为此扩展定义选项对话框?(例如,将显示在"工具"/"选项"菜单中的属性页)

我试图使用DialogPage类来做到这一点,但显然它需要一个VSPackage,我不确定这种方法是否与我正在做的兼容.

mef visual-studio-2010 visual-studio-extensions

15
推荐指数
1
解决办法
1543
查看次数

Mongoose:如果元素已经存储,请不要插入

我正在使用MongoDB和Mongoose与Express来存储我通过Twitter API检索的推文.

我想避免保存重复的推文.我正在做这样的事情:

TweetsModel.find({tweet_id: tweet.tweet_id}, function (err, tweets) {
    if(tweets.length > 0){
        cb('Tweet already exists',null);
    } else{
        tweet.save(function(err){
            cb(err,user);
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

我的问题是:出于性能原因,有没有办法使用Mongoose来避免做两个请求?一个找到一个保存?

知道我不想更新推文,如果它已经存在.

谢谢

mongoose mongodb express

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