To Shuffle a List in C# and VB.NET you can use the snippet below.
Sample C#
public static IList<T> ShuffleIList<T>(IList<T> inputList) { var cryptoServiceProvider = new RNGCryptoServiceProvider(); var count = inputList.Count; while (count > 1) { var bytes = new byte[1]; do cryptoServiceProvider.GetBytes(bytes); while (!(bytes[0] < count * (Byte.MaxValue / count))); var index = (bytes[0] % count); count--; var input = inputList[index]; inputList[index] = inputList[count]; inputList[count] = input; } return inputList; }
Sample VB.NET
Public Shared Function ShuffleIList(Of T)(inputList As IList(Of T)) As IList(Of T) Dim cryptoServiceProvider = New RNGCryptoServiceProvider() Dim count = inputList.Count While count > 1 Dim bytes = New Byte(0) {} Do cryptoServiceProvider.GetBytes(bytes) Loop While Not (bytes(0) < count * ([Byte].MaxValue / count)) Dim index = (bytes(0) Mod count) count -= 1 Dim input = inputList(index) inputList(index) = inputList(count) inputList(count) = input End While Return inputList End Function
RT @CodeSnippetsNET: How to Shuffle a List in C# and #VB .NET http://t.co/km3MRViFM8 #dotnet #coding #coder #codesnippets #csharp #programm…
RT @CodeSnippetsNET: How to Shuffle a List in C# and #VB .NET http://t.co/km3MRViFM8 #dotnet #coding #coder #codesnippets #csharp #programm…