listRemoveMarkers = listCurrentPostsMarkers;
listRemoveMarkers.RemoveAll(x =>
listLocations.Exists(y => y.Latitude == x.Position.Latitude &&
y.Longitude == x.Position.Longitude));
逐行调试 - listCurrentPostsMarkers 有2个值,然后在另一个列表“ listRemoveMarkers ”中分配相同的值,并从 listRemoveMarkers中删除所有值与 listLocations 列表进行比较后。 RemoveAll()工作正常,我在 listRemoveMarkers 中获得了所需的值但是现在我不知道为什么我的 listCurrentPostsMarkers 受到影响了?它与 listRemoveMarkers 的值相同。帮我理解这个。提前谢谢。
答案 0 :(得分:3)
for i in self.Citizen:
AttributeError: 'str' object has no attribute 'Citizen'
不创建新列表,但将listRemoveMarkers = listCurrentPostsMarkers;
引用指向同一个实例。
您可以创建一个新列表来避免这种情况:
listRemoveMarkers