小编BeL*_*ver的帖子

c#在for循环中等待

如果缺少信息,我有一个需要更新的项目列表。但是,我正在调用 Google 位置服务来执行此操作。如果可能的话,我想知道如何异步附加必要的经纬度信息

我的代码

public static void PullInfo()
{
   foreach (var item in SAPItems)
   {
        if(item.MDM_Latitude == null || item.MDM_Longitude == null)
        {
             var point = GetMapPoint(item.AddressLine1 + " " + item.FiveDigitZip);
             item.MDM_Latitude = point.Result.Latitude.ToString();
             item.MDM_Longitude = point.Result.Longitude.ToString();
        }                    
    }

    foreach(var item in SAPItems)
         Console.WriteLine(item.MDM_Latitude + " " + item.MDM_Longitude);
}

private static async Task<MapPoint> GetMapPoint(string add)
{
     var task = Task.Run(() => LocationService.GetLatLongFromAddress(add));
     return await task;
}
Run Code Online (Sandbox Code Playgroud)

c# async-await

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

标签 统计

async-await ×1

c# ×1