LINQメソッドにShuffleを追加する
アイデアはDOBON.NET(Coding Horror)から。
public static IOrderedEnumerable<TSource> Shuffle<TSource>(
this IEnumerable<TSource> source )
{
return source.OrderBy( x => Guid.NewGuid( ) );
}
使用例:
var values = new[ ] { 1, 2, 3, 4, 5 };
foreach ( var value in values.Shuffle( ) )
{
Console.WriteLine( value );
}
Console.WriteLine( "終了するには何かキーを押して下さい..." );
Console.ReadKey( );
実行結果
2
5
3
4
1
終了するには何かキーを押して下さい...
DOBON.NET: http://dobon.net/vb/dotnet/programing/arrayshuffle.html
Coding Horror: http://www.codinghorror.com/blog/2007/12/shuffling.html
Author And Source
この問題について(LINQメソッドにShuffleを追加する), 我々は、より多くの情報をここで見つけました https://qiita.com/kuchikios/items/6cfc1140a023e3928a17著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .