現在、リストから要素をランダムに選択し、asp.net のページが更新されるたびに変化する要素をユーザーに表示しています。
ただし、一日中 1 つの要素を表示し、次の日に別の要素を表示したいなどです。
リスト要素をランダムに選択するための私のコードは次のとおりです。
public static List<T> Shuffle<T>(this IList<T> list)
{
RNGCryptoServiceProvider provider = new RNGCryptoServiceProvider();
int n = list.Count;
while (n > 1)
{
byte[] box = new byte[1];
do provider.GetBytes(box);
while (!(box[0] < n * (Byte.MaxValue / n)));
int k = (box[0] % n);
n--;
T value = list[k];
list[k] = list[n];
list[n] = value;
}
return list.ToList();
}