小编Ale*_*all的帖子

有人可以解释async/await吗?

我开始在C#5.0中学习async/await,我根本不理解它.我不明白它如何用于并行.我尝试了以下非常基本的程序:

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Task task1 = Task1();
            Task task2 = Task2();

            Task.WaitAll(task1, task2);

            Debug.WriteLine("Finished main method");
        }

        public static async Task Task1()
        {
            await new Task(() => Thread.Sleep(TimeSpan.FromSeconds(5)));
            Debug.WriteLine("Finished Task1");
        }

        public static async Task Task2()
        {
            await new Task(() => Thread.Sleep(TimeSpan.FromSeconds(10)));
            Debug.WriteLine("Finished Task2");
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

这个程序只是阻止呼叫Task.WaitAll(),永远不会完成.有人可以向我解释原因吗?我确信我只是缺少一些简单的东西,或者只是没有正确的心理模型,并且没有任何博客或MSDN文章都有帮助.

c# async-await

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

Unix上的递归mkdir()系统调用

在阅读具有该名称的Unix系统调用的mkdir(2)手册页后,看来该调用不会在路径中创建中间目录,只会在路径中创建最后一个目录.是否有任何方法(或其他功能)来创建路径中的所有目录,而无需手动解析我的目录字符串并单独创建每个目录?

c unix posix mkdir

65
推荐指数
6
解决办法
9万
查看次数

在C#中重命名目录

我无法在任何地方找到DirectoryInfo.Rename(To)或FileInfo.Rename(To)方法.所以,我写了自己的,我在这里发布,供任何人使用,如果他们需要它,因为让我们面对它:MoveTo方法是过度的,如果你只是想重命名一个目录或文件,将总是需要额外的逻辑:

public static class DirectoryExtensions
{
    public static void RenameTo(this DirectoryInfo di, string name)
    {
        if (di == null)
        {
            throw new ArgumentNullException("di", "Directory info to rename cannot be null");
        }

        if (string.IsNullOrWhiteSpace(name))
        {
            throw new ArgumentException("New name cannot be null or blank", "name");
        }

        di.MoveTo(Path.Combine(di.Parent.FullName, name));

        return; //done
    }
}
Run Code Online (Sandbox Code Playgroud)

c# directory file-io rename

61
推荐指数
3
解决办法
11万
查看次数

Subversion和Visual Studio项目的最佳实践

我最近开始在各种C#项目的工作在Visual Studio中作为将被用于替换这与C语言编写,Perl的各种程序和脚本的补鞋,一起建立了我们目前的系统大规模系统计划的一部分.我正在进行的项目已经达到了致力于颠覆的临界质量.我想知道什么应该和不应该提交到Visual Studio项目的存储库.我知道,这将产生那些刚刚建立的工件和并不真正需要提交的各种文件,我想知道是否有人有对正确使用SVN使用Visual Studio的任何建议.目前,我正在使用带有Visual Studio 2010 beta的SVN 1.6服务器.欢迎任何建议,意见.

c# svn visual-studio-2010 svnignore

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

向Eclipse项目添加C/C++特性

有没有人知道如何通过UI向Eclipse项目添加C/C++项目性质?我正在导入一个项目并使用最初在Visual Studio 4中启动的遗留代码,我真的希望能够尽可能多地使用Eclipse的帮助程序.

c eclipse project

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

在C#中解析unix时间

有没有办法在C#中快速/轻松地解析Unix时间?我对这种语言很陌生,所以如果这是一个非常明显的问题,我会道歉.IE我有一个格式的字符串[自纪元以来的秒数].[毫秒].在C#中是否有Java的SimpleDateFormat?

c# unix-timestamp

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

如何在Azure资源组模板中检索Application Insights实例的检测密钥?

有没有办法在Azure资源组模板中检索Application Insights实例的Instrumentation Key?

我已经尝试过这里的说明来检索Azure资源上可用的列表*操作列表,但Microsoft.Insights/components不会在任何地方出现在列表中.这让我觉得目前无法在模板中检索Instrumentation Key

azure azure-resource-manager azure-application-insights

19
推荐指数
3
解决办法
8281
查看次数

打开文件夹并使用WPF突出显示特定文件

有没有办法启动资源管理器窗口并使用WPF突出显示该文件夹中的文件?我已经尝试过以下方法:

Process ExplorerWindowProcess = new Process();

ExplorerWindowProcess.StartInfo.FileName = "explorer.exe";
ExplorerWindowProcess.StartInfo.Arguments = ConfigFile.File.FullName;

ExplorerWindowProcess.Start();
Run Code Online (Sandbox Code Playgroud)

...但是在Windows资源管理器中使用默认应用程序打开文件(在我的情况下是一个XML文件),我非常不想要.我知道可用于Eclipse的Aptana工具允许您在Eclipse项目浏览器中选择文件并在Explorer中完全按照我的意愿显示该文件,但我需要一种方法在我的WPF应用程序中实现它.

windows wpf explorer process

16
推荐指数
1
解决办法
3853
查看次数

如何在Perl中解雇并忘记进程?

有人可以告诉我如何在Perl中解雇一个进程吗?我已经看过ruby:如何解雇并忘记子进程?在Ruby中做同样的事情.

perl process fire-and-forget

12
推荐指数
1
解决办法
6867
查看次数

如何拦截Azure WebJob失败/异常

目前在Azure中,当WebJob抛出异常时,异常会被JobHost(某种程度上)捕获并处理,然后将异常记录到可通过托管webjob的Web App刀片提供的仪表板中.有没有办法拦截错误处理或覆盖它,以便我可以插入我的Application Insights实例?

c# azure azure-webjobs azure-application-insights

12
推荐指数
2
解决办法
3614
查看次数