IRandom.cs 825 B

12345678910111213141516171819202122232425262728293031
  1. namespace TBL.CSharp.Utilities.Random
  2. {
  3. /// <summary>
  4. /// 随机数发生器接口
  5. /// </summary>
  6. public interface IRandom
  7. {
  8. /// <summary>
  9. /// 获得下一个原随机数
  10. /// <para>未经处理的随机数,可能是任何 <c>int</c> 值(包括负数)</para>
  11. /// </summary>
  12. int NextRaw();
  13. }
  14. /// <summary>
  15. /// 支持用种子进行状态还原的随机数发生器接口
  16. /// </summary>
  17. /// <typeparam name="TSeed">随机种子类型</typeparam>
  18. public interface IRandom<TSeed> : IRandom
  19. {
  20. /// <summary>
  21. /// 存储当前的种子
  22. /// </summary>
  23. public TSeed DumpSeed();
  24. /// <summary>
  25. /// 从种子还原
  26. /// </summary>
  27. public void RestoreBySeed(TSeed seed);
  28. }
  29. }