FunGetRandom.cs 865 B

12345678910111213141516171819202122232425262728293031323334
  1. using System;
  2. using IwbZero.Expr;
  3. using IwbZero.ToolCommon.StringModel;
  4. namespace IwbZero.ExprFunctions.Functions
  5. {
  6. /// <summary>
  7. /// 获取随机数
  8. /// </summary>
  9. public class FunGetRandom : IIwbFunction
  10. {
  11. public string Invoke(ExprObject exprObj)
  12. {
  13. var child = exprObj.GetChild(0);
  14. var child2 = exprObj.GetChild(2);
  15. int num1 = child?.Expr.ValI()??0, num2= child2?.Expr.ValI()??0;
  16. if (num2 == 0)
  17. {
  18. num2 = num1 > 100 ? 100 : num1 < 0 ? 0 : num1;
  19. num1 = 0;
  20. }
  21. if (num2 < num1)
  22. {
  23. var num3 = num2;
  24. num2 = num1;
  25. num1 = num3;
  26. }
  27. var random = new Random().Next(num1,num2);
  28. return random+"";
  29. }
  30. }
  31. }