C# : Random

[".0s4*0|collections;datetime-format;random",["F@eBD[`","MALGLAOCGABEOA","OOCBSTUUUUTTUUUUYFHDRDGDGDGDGDGDADADADADRDFOBOCCOBOBCBWCSTTUUUUTTUUUU","rwsssr.",".NET","Array","Dictionary","List","String","2D","Async","Console","DataTable","Dates","DateTime","Enum","File","For","Foreach","Format","IEnumerable","If","IndexOf","Lambda","LINQ","Optimization","Parse","Path","Process","Property","Random","Regex","Replace","Sort","Split","Static","Substring","Switch","Tuple","While","Shuffle."," We can shuffle an array, randomly reordering all elements, with results that are mathematically correct. Some solutions exist but do not give high-quality random results.","Example."," Here we see an approach to shuffling a string array that is not the classic, optimized Fisher-Yates shuffle. But this approach is mathematically random. It will not cause strange biases in your code. ","And: ","This is true because it performs all the operations together, rather than one after another.","Fisher-Yates Shuffle ","fisher-yates-shuffle","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","br","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","Based on:"," .NET 4.6\n\n","C# program that uses random shuffle algorithm","\n\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\n\nclass Program\n{\n static ","Random"," _random = new Random();\n\n static string[] ","RandomizeStrings","(string[] arr)\n {\n List<KeyValuePair<int, string>> list =\n new List<KeyValuePair<int, string>>();","\n // Add all strings from array.\n // ... Add new random int each time.\n ","foreach (string s in arr)\n {\n list.Add(new KeyValuePair<int, string>(_random.Next(), s));\n }","\n // Sort the list by the random number.\n ","var sorted = from item in list\n orderby item.Key\n select item;","\n // Allocate new string array.\n ","string[] result = new string[arr.Length];","\n // Copy values to array.\n ","int index = 0;\n foreach (KeyValuePair<int, string> pair in sorted)\n {\n result[index] = pair.Value;\n index++;\n }","\n // Return copied array.\n ","return result;\n }\n\n static void Main()\n {\n string[] arr = new string[]\n {\n ","\"cat\"",",\n ","\"animal\"",",\n ","\"abacus\"",",\n ","\"framework\"","\n };\n string[] shuffle = ","RandomizeStrings","(arr);\n foreach (string s in shuffle)\n {\n Console.WriteLine(s);\n }\n }\n}\n\n","Output","\n\nabacus\nframework\ncat\nanimal","The method here"," uses the KeyValuePair<T, V> data structure that is included in System.Collections.Generic. It allocates another array containing the string[] elements and pairs them with a random number. Finally, it sorts. ","KeyValuePair ","keyvaluepair","This method"," is equally random as generating a random set of integers one-by-one. If you only randomize one element at a time, and then randomize the rest separately, you will get biases. ","Note: ","We randomize the entire array all at once, which will result in consistently random results.","Note 2: ","I decided to use this approach instead of the optimized algorithms because this code wasn't on a hot path in my program.","Random numbers."," It stores a Random number generator as a static field, which means you can call the RandomizeStrings method repeatedly and will get good results. More information on Random is available. ","Random ","random","Discussion."," This article previously showed a naive method that used OrderBy in LINQ, but was not mathematically sound. The current method is mathematically sound, as noted in Wikipedia. See \"Comparison with other shuffling algorithms.\" ","orderby ","orderby","Info: ","Wikipedia notes that this approach is sometimes faster in high-level languages. It is unlikely to be faster in the C# language.","Fisher-Yates shuffle: Wikipedia ","http://en.wikipedia.org/wiki/Fisher-Yates_shuffle","Summary."," We used a mathematically sound approach for shuffling an array. This method is not optimally fast, but for my use this wasn't important. If you need performance, use an implementation of Fisher-Yates. ","Review: ","We saw an example of using the LINQ query syntax with a List of KeyValuePair structs.","br","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","3679700504","data-ad-format","link","br","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto"],"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANYAAAA3CAMAAABHJUQ7AAAAMFBMVEX////7/f7y/f+38v//6en/1dX/tbX/xcXl+v/U9//G9f//qKiq8P+U7P+e7v//lJQSDb6dAAAEaklEQVR4Xt2Z27KiMBBF050bN/X//3aQiBvZoeMZHoYz+8myKYtFeuWCDomfcY30n3EXTXh8xtnp7p+5KlbcYYXGYE1rCpZeFCvtsBpdOPiSFe6qXfjYJTWwlgBt+AVqteXSfgnQ/MXVSl/Jpd2Svu/6oUQvrVZ24zdy6RrXlUHrr4mFMcosV2Pc+jnXxArAioZcRj/qldUaPwjtSEzPi0RnMFWpFrcJIea0qpvyZ1GEfn77laieU8tZcm2IQ17ZRVXFKurzi1VZZAzLWEu56G13XN0VPO3ktNvZ628lvUP6W4mHWkBhuRgrJDA4ETGLQusHCERFSgvDafwknvaMNXRbrAEIhDqwWo7lYiw8+tAsLsyMheF8Um3Jq90hM5ZXh3QvhLtDbq90rJYpV+3G7KKNlYo2i5nCToO0YA0OkZVBifRWUYvkOoFFHVoFL/bBbzgNtQrWpIZctlok11ksfWGllOKcMCfDrtdw7SBKALpiddX5gUFZLVMuaqK43LlRLB22T6xgQS5Wa8XqDbkMtYjSwsrhxaNyUFzXNEcZ0fUL+o6C1HK6YEGuDYU21aKeJCwwoaAq9aKUHQgNF83m1HN0UcHy1so12GoBMx1hZdnte7mI/WLXMRY8qn9JU9dCBayaXJOhli1XvTu103pxhlqwXBurIpeQWndgcdMJmpLVYs42lhxhPY8sNSzMhcn4eVILWDRF0BRCallyHeCWNuPi8AywQsRed4dFcrFaHlgkV0stksvAkjaW908sLVv68cFJhnGkFrBYLlstastjLEFBD7A8sIzdU02uulo7LIVchlqP9M5IpIyl2j3dKfaohSVExVgsV9gYr1Usd3/LBbUmqHWcaGAtFs/xQ3+ANc1Y5XXA2MJiufLGeJ2pgFWRC2oNEOY4+RjrSdXCWmtxA7LsC2HRoVxQq2BNwCK5DLU4LBe1+3T/Civtl2rCIrnkozOKWpjlSK6KWlZCC+tuN2FRawQFY9XlglqMxXKxWtnEiuexeAlhLJZrq5bTwQOrJtdeLdg8pm1ILsIqE6EvC66FxSXG4pVlhKkL1gQslmt6q9XZG6XMcrE+iJzDYrneH2TFmqlWLJbr/UH2agk9NiI4jZVbWLDw47F2dSzMf/5IrfHgsUULCzFmQlmVQS0kPiOw6VCr9wXr7hBsBBFWKxvn13NYur3ZGGJODyRL+0/RdXJ63raQXIipFst1HiuaSwjLhQh2TrhxlqupFst1AgsLl43FcsE9wiK5EG+oRXKdwPpiuIIhF3ZOwLLk6ltqASH/Pdb9NVzmoh8suXAoYSyWC8X0CtuSUwmwrKudVIoz07C+ognb7hpzCKmOJTgY4bzfa+dvVSzxc96d6P5BQiyPKYZCEmLkR8TLmqis/8L7OeoQ3slfO5m8NjNArSuHNbVzx6HkwuG38XYUr9IuHajF+cVqpZ+p5f9PtW7/pVrdL1EL5/2vgvP+tTP+TK3pd6gVfqaWXlwtfk1jhl/TXDsxlcQvsXxJ75A/ZMHNEnLfXgIAAAAASUVORK5CYII=)","url(data:image/jpeg;base64,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)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANIAAABFCAMAAAAIJEiLAAAAGFBMVEUAru+g2Pf///8xt/BpxvPS6/vp9f0TtPCISbH1AAADCklEQVR4Xu2bwY7CMAxEPWM7/P8fr9baaNSG0lIQK6q8U2vhxk9ODD1gJBE3uwS3AEkjwy5EkCajqzgZ7GLAwi5G2M2uxceEJpPJZDKZTCYTzzCBsH8kAMCeA0OOJykNkLDP4iZAMu05UjkyYnMZveyEX3QJf9iVJN6npIC6FNTtWfSI/aeRfLsSpCAnup0nyF4nPqwkAwwV5ctKrS9G4qNKPtT/+nEK9t44/0EJ2mUiFTyr1EoEdSGlQGYi+t0vpRSFS6k+CZgwh5K1FJCJRkrJ7zYk7kQdiCeUUIskCSlFY8EWmiJCpy89WaRLiEruoLEjJfRNLxTesxRjdpB0r4ueB4p4rJTrQj0poHXuKG0UGsOcapXnh5WcJEDSajnNQWQJ+LaSUBG5Dsooc6EUW3W2laqziMNKlqVElFJ/ZLoavjkeCrhBn0OPRbm11VdeSknjZXfnPa0EsjUyuhLU5bp8rFQRnfqm5HIKXayVsmeLjfZBzT2mFCyslLSUtvUjJSwqVV810BRbKSkslBirOuHHvyb+Th/qLvtSUewqtVWl6rB6V7EYlRReo4TnycWaySqRgntKeU/JTNGm2FElzYfzSlFr9p7FaSVdKMozSvmykpPE+5TaQqmbfXbjWWoy6XCKUxtPUXxUqWmBrqTSTyvFYuItYu3cxItM2DE4KLk2zxmloLwxDnFQOUpaUwnjC8dZpdh+gMrZVjL2ZL2gVreaV4aUtCHF+GD1lvQTStCrE5kIiwio41nh3yjivpKqBiA5/IWS42+8ODLDWeC8Uq0lIGPFNpU82VFMAbnrYO3+HlJ393GSGJUMg1KRO0qDU7oVUJ5yNDfExhnzPKwUoxJWr3HMUAL2lAq0ITNaTxveanPndUmxtBeJACL8bvRQri9DgNIetcm1HYdp+w3kOMmgkHBW8BsInbhHX0Ge39EkGeRDI0DD4YucfLgTLOD2VU7QTRkNSgj7JkAogMHIIsK+DSwEZPR+JpPJZDKZTG7XEwq7GG6wi4Er/n+J7VJO0Wgk4Vf5L6CD5A+G4BPe8JfzjgAAAABJRU5ErkJggg==)"]

["url(data:image/jpeg;base64,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)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJgAAABZCAMAAAD1qB0CAAAAGFBMVEX///+vr6/Nzc1kZGSNjY3k5OQxMTEAAABgpIToAAADeUlEQVR4Xu1Z23YcIQxbX/n/P273lMYJRSilM4d5qB5DwAIJe7y8NqEi+noeIttPpD6S1xvyMGLZOvKGACqyu19pHTccmfwyyR41L2JGJuwunbEz224jVlv2bWJ4/j4USHGlx454JO66la3g/3Ytr82w0ZAU0hGUWc2+x2ItpolTuZpu5pT/vndzfpSvM3BkMakbcQSGlPTDpTmBksRi9wMoedxiAZQ8bjFFSnqd4xFIKTm3mBwnFnPvxek0ZnOJ83U6jcmOxRTUUj5JKbFBMu34Tdi18JVBSJ8LG7cQz7cW8ir0SfVnhEFJbQv4JABMwlEUmkU1Fx20Ex2UlIZR4SsAcqJWCa5th8Gt4jQWpSxEjLNg42azcUEiYGJ1J62jdaQV/EuOMTMcoI2wfp1cVFWMtwkyH4/1PJEYhLdBBxsJhH2OolkDa2KAL0uvNicWU0ktZh2MLVd21AKzukG8IlDtsqmuiAk4Cf8uMVlZGIfAMfogTCKXERM8tCDmaBIpHNSLupB6qaXOhwRuBnqR98K4SkNiiebYdxsGZ8TIdw2Y6JsW4140EhsO+lTJwALggsZPFLsf6JxcAKJUsk5Htog5UB9YjKY7fqKcWAlGBCAWo5d2h1hyAbjF+IlyYuOY86zJLcZPFBNLsLL+lQC8YeEFhKcLGcNzAXhPzG83/zLxCr+RXoNITgqIL+LYoOReBc+9gmWLOLUqEGDfYryAkGzhWIB7LRYL74eZ6WUW4+mVe5/Hu99izvZ1v8UE0y4lOfwKi/GCpZA2FeAmi/FRLsC+xfjt5mF4+8AtRkLvbAtflssspmA2HlQNLEBuZxV+u2vQkRSmSADjku9X8EgoZAAllBLjkvM8ZVjIJA81VEojJxYVAAopQIiZZgLX47888BcXbjBrBbIeI2b0fVYJL/QbqaKjlLcIoeK+INYvUKgL8ErLoO+znJi2AezMCzJYrJA1pInfLLCUtVMcsgQZEYsNprxHVSZXFS7rLGA63lvBZGox08lOU8ltLwNAZulokcjP3AO3gFLUypMYVrwGhH8cuC/X6BHNg1Rw+Vgxnb/ViZUrR0R/a2OI+i/2kahvvI6j+oHD4N/n53H+pX+/BTxvsfbfYhst4KPQznufpddnwU97n/bgT81i9lQl83nZ9XnpItSH78x4ACnLNoPJcQ0B9HiWALhAzR98s0wlubKPewAAAABJRU5ErkJggg==)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACCAgMAAADasxWRAAAADFBMVEX/6Nn///+VlZX29va5ksB5AAAASElEQVR4AWPACZj/f0DmjkqOSjKtQgcLyJccZiEE9SOmP8mXHEaBMBoIo4EwGggryJccvvVKKAogTnJUclRyVHLklgmjkqOSAALWyrsxEHLDAAAAAElFTkSuQmCC)","url(data:image/jpeg;base64,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)"]