我有一個可觀察集合名稱A帶有屬性id,年齡,名稱,我將更改的項目存儲在另一個集合B中。現在我想用對象A中的相同項目替換在B中改變了事情。我該如何實現它。用一個新項目替換集合中的項目
foreach(var item in A)
{
}
我有一個可觀察集合名稱A帶有屬性id,年齡,名稱,我將更改的項目存儲在另一個集合B中。現在我想用對象A中的相同項目替換在B中改變了事情。我該如何實現它。用一個新項目替換集合中的項目
foreach(var item in A)
{
}
從「是的,我需要的相同的指數來替代B中的項目」
for(int i = 0; i < A.Count; i++)
{
B[i] = A[i]; //or A[i] = B[i];
// You could compare by: if(A[i].ID == B[i].ID)
}
您可以按照這樣假設:
public static IList<T> Swap<T>(this IList<T> list, int indexA, int indexB)
{
if (indexB > -1 && indexB < list.Count)
{
T tmp = list[indexA];
list[indexA] = list[indexB];
list[indexB] = tmp;
}
return list;
}
您可以使用Zip運算符
ObservableCollection<ObjType> obsCollectionA = new ObservableCollection<ObjType>();
ObservableCollection<ObjType> obsCollectionB = new ObservableCollection<ObjType>();
foreach (var pair in obsCollectionA.Zip(obsCollectionB, (a, b) => new { A = a, B = b }))
{
pair.A.Id = pair.B.Id;
pair.A.Name = pair.B.Name;
pair.A.Age = pair.B.Age;
}
這兩個集合屬性是否相同? –
是的,我需要用B的相同索引替換B中的項 –