我列出了我在Excel中的所有支出.每一天都需要一条线.
我想要的是根据另一个细胞的值比较2天之间的差异.配方示例.= A250 - A191.我想改变这个250和191,只需在任何另一个单元格中写入321和192,自动将公式更改为:= A321-A192.
有可能吗?
我想同时抓取几个网站,但只是逐个将信息添加到数据库中.同时我的代码看起来类似于:
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或类似的东西,甚至比我现在正在做的更有效的东西?提前致谢.