私は一定の基準が他への移行を満たしている場合、私は1つの辞書にオブジェクトをチェックする必要があり、簡単なタスクを持っています。私はそれを達成するために言語機能を使うことができる良いパターンがあるかどうか尋ねています。まっすぐアプローチは簡単です - 一時的なコレクションを使用して、最初のステップはcanditatesを決定し、2番目のステップは実際の動きを行います。それは大丈夫ですが、それはクールではありません。辞書間でオブジェクトを移動するにはどうすればよいですか?
現在のコード
class Order
{
public int ID;
public bool IsReady;
}
Dictionary<int, Order> ActiveDictionary;
Dictionary<int, Order> ProcessedDictionary;
public Update()
{
// temporary list, uncool
List<Order> processed = new List<Order>();
// fist step
foreach(Order ord in ActiveDictionary)
{
if(ord.IsReady)
{
processed.Add(ord);
}
}
// ok now lets move
foreach(Order ord in processed)
{
ActiveDictionary.Remove(ord.ID);
ProcessedDictionary.Add(ord.ID, ord);
}
}
を試してみてください。コメントアニとしては、他の似解決策がありますあなたが本当に '選択 'ではなく'どこで 'を使用したいと思っているかを感じます。 'ToDictionary'への入力はたぶん' bool'値なので、コードが今のようにコンパイルされるのではないかと思います。 –
@Fredrik ha!あなたは、長い一日:) –
正しい...と私のupvoteがあります:) –