RandEXom · latest source build

Build the randomizer you need.

RandEXom is a C# library with interchangeable seed generators, bounded random sources, and helpers for weighted picks, percentages, shuffles, and number ranges.

Read the documentation

Download

Built from the current source on 20 September 2026. The library targets .NET Standard 2.1; the Windows x64 apps require the .NET 8 runtime.

Download RandEXom.dll Download TestOut Download Benchmark

Library SHA-256: 781585415b14d979b0c787d75f289f12a1492c0ebb4e37dd862ef684b23d719a. Checksums for all downloads.

Also on GitHub: latest source build release.

Get started

Add the DLL as a project reference, then choose a generator and a seed:

using RandEXom.RandomLib;

var random = new ModuloRandom(seed: 12345);
int value = random.NextInt(0, 100); // 0 through 99

Minimum bounds are inclusive; maximum bounds are exclusive. The source is available in the GitHub repository.

Documentation

Follow four chapters in order, or jump straight to a type. Every guide page shows its chapter and links to the previous and next page.

1. Start hereUnderstand the layers, install the DLL, and make a first draw. 2. Core librariesChoose seed progression and a source of numbers or bytes. 3. FrameworkApply draws to percentages, item pools, and number rules. 4. ReferenceExplore utilities, extension points, and the class index.

Looking for one class? Go to the class index. For algorithm papers, book sources, and implementation differences, see research and provenance.

In this source build

The current source adds an item tree with optional removal and empty-endpoint locking, a Random.org seed helper, TestOut examples, and a standalone DLL-loaded benchmark. See the item tree, seed utility, and benchmark results. The date-tagged release contains this build and its checksums.

Support RandEXom

Donations are optional and help support continued development.

Support on Trakteer

BNB · BNB Smart Chain (BEP-20)
0xE122d7d44604d59b27Ca3FAA44Fc1Da94CE0aE03

SOL · Solana
C8A5J9w7UkXeLVeCWhpP47SPCPvnuS55RJWybzFhB3jF

Check the full address and network in your wallet before sending. Transfers to the wrong address or network may not be recoverable.