C# では、ランダムなインデックスでリストから項目を取得しようとしています。取得したら、もう選択できないように削除したいと思います。これを行うには多くの操作が必要なようですが、リストからアイテムを簡単に抽出できる関数はありませんか? RemoveAt(index) 関数は無効です。戻り値のあるものが欲しいです。
私がやっていること:
List<int> numLst = new List<int>();
numLst.Add(1);
numLst.Add(2);
do
{
int index = rand.Next(numLst.Count);
int extracted = numLst[index];
// do something with extracted value...
numLst.removeAt(index);
}
while(numLst.Count > 0);
私がしたいこと:
List<int> numLst = new List<int>();
numLst.Add(1);
numLst.Add(2);
do
{
int extracted = numLst.removeAndGetItem(rand.Next(numLst.Count));
// do something with this value...
}
while(numLst.Count > 0);
そのような「removeAndGetItem」関数は存在しますか?