1

これは、あるリストから別のリストにオブジェクトを移動する正しい方法ですか?

private ObservableCollection<SomeObject> toBeProcessed = 
                                new ObservableCollection<SomeObject>();


public ObservableCollection<SomeObject> ToBeProcessed 
{
    get
    {
        return toBeProcessed ;
    }
    set
    {
        //implements INotifyProperyChanged:
        SetField(ref toBeProcessed , value, "ToBeProcessed"); 
    }
}


public void MoveSelected(ObservableCollection<SomeOject> SelectedObjects)
{
    foreach (var obj in SelectedObjects)
    {
        ToBeProcessed.Add(obj);
        SelectedObjects.Remove(obj);
    }
}

これは正しい方法ですか?はいの場合、より良い方法はありますか?

更新、申し訳ありませんが、foreachループでは実行できないと考えたため、これに変更します

for (int i = SelectedObjects.Count - 1; i >= 0; i--)
{
    ToBeProcessed.Add(SelectedObjects[i]);
    SelectedObjects.RemoveAt(i);
}

それはまだ正しい方法ですか?

4

2 に答える 2