小编jua*_*ora的帖子

如何根据excel中的单元格值更改公式?

我列出了我在Excel中的所有支出.每一天都需要一条线.

我想要的是根据另一个细胞的值比较2天之间的差异.配方示例.= A250 - A191.我想改变这个250和191,只需在任何另一个单元格中写入321和192,自动将公式更改为:= A321-A192.

有可能吗?

excel vba excel-vba excel-formula

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

使用Parallel Foreach和WhenAny的多个任务.那可能吗?

我想同时抓取几个网站,但只是逐个将信息添加到数据库中.同时我的代码看起来类似于:

        List<SiteMetadata> sitesList = GetSites();
        var tasks = new List<Task<SiteMetadata>>();

        foreach (var item in sitesList)
            tasks.Add(item.LoadMetaDataAsync());

        int totalSites = sitesList.Count;
        int finishedSites = 0;

        int errors = 0;
        while (totalSites != finishedSites)
        {
            var tempSite = await Task.WhenAny(tasks.ToArray());
            //WRITE HERE TO DB!!!!!!!!!!!!!!!!!
            tasks.Remove(tempSite);

            var tempLog = apiHandler.WriteToDatabase(tempSite.Result);

            if (tempLog.Type == LogType.Error)
            {
                errors++;
                LogsHandler.AddToLog(tempLog);
            }

            finishedSites++;
        }
Run Code Online (Sandbox Code Playgroud)

我想在这里提高效率并取代:

    var tasks = new List<Task<SiteMetadata>>();
    foreach (var item in sitesList)
        tasks.Add(item.LoadMetaDataAsync());
Run Code Online (Sandbox Code Playgroud)

这样的事情:

    var runAll = Task.Factory.StartNew(() => Parallel.ForEach(sitesList, item => item.LoadMetaDataAsync()));
Run Code Online (Sandbox Code Playgroud)

但问题是我不知道如何逐个完成第一个完成任务和数据库.无论如何使用Parallel或类似的东西,甚至比我现在正在做的更有效的东西?提前致谢.

.net c# task task-parallel-library c#-5.0

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

标签 统计

.net ×1

c# ×1

c#-5.0 ×1

excel ×1

excel-formula ×1

excel-vba ×1

task ×1

task-parallel-library ×1

vba ×1