我正在尝试从模型中的字符串获取值(HTTPClient提取所有数据,并在应用程序中显示了该数据)。但是,我需要达到foreach循环内的值。
这是我在viewmodel中的方法:
public async Task GetDataAsync()
{
var DataAsync = await _todoService.GetData(doItem.id, "4000");
try
{
var doPin = new Pin
{
Type = PinType.Place,
Position = new Position(lats, lons),
Label = Title,
};
Map.Pins.Add(doPin);
Map.PinClicked += (sender, args) =>
{
IsPinVisible = true;
NewAddress = Address + todoItem?.dist;
};
Map.MapClicked += (sender, args) =>
{
IsPinVisible = false;
};
foreach (var i in parkDataAsync)
{
var todoPin = new Pin
{
Type = PinType.Place,
Position = new Position(i.lat, i.lon),
Label = i.name
};
Map.Pins.Add(todoPin);
Map.MoveToRegion(MapSpan.FromCenterAndRadius(new Position(eventlat, eventlon), Distance.FromKilometers(1)));
}
}
catch (Exception err)
{
Debug.WriteLine("Error: {0}", err);
}
}
这是我从中获取值的正确方法(也在viewmodel中):
private TodoItem _todoItem;
public TodoItem todoItem
{
get => _todoItem;
set
{
_todoItem = value;
NewAddress = value.dist;
}
}
这是引起问题的字符串:
NewAddress = Address + _parkItem?.dist;
_parkItem?.dist
为空由于某种原因。数据是之前提取的,所以我不明白为什么它为空。
我还尝试了其他方法,以便从以下位置获取i
值:
foreach (var i in parkDataAsync)
我尝试过这种运气不好的事情:
//NewAddress = Address;// + ___parkItem.Add(parktItem.dist);// parkDataAsync.Add(parktItem.dist);