SingleSelector.cs 423 B

1234567891011121314151617
  1. namespace Masuit.Tools.RandomSelector;
  2. /// <summary>
  3. /// 单选器
  4. /// </summary>
  5. /// <typeparam name="T"></typeparam>
  6. internal class SingleSelector<T> : SelectorBase<T>
  7. {
  8. internal SingleSelector(WeightedSelector<T> weightedSelector) : base(weightedSelector)
  9. {
  10. }
  11. internal T Select()
  12. {
  13. return WeightedSelector.Items.Count == 0 ? default : BinarySelect(WeightedSelector.Items).Value;
  14. }
  15. }