c# - How to get a random number from a range, excluding some values -
in c#, how random number range of values - 1..100, number should not in specific list of values, 5, 7, 17, 23?
since no-one has posted example code:
private int givemeanumber() { var exclude = new hashset<int>() { 5, 7, 17, 23 }; var range = enumerable.range(1, 100).where(i => !exclude.contains(i)); var rand = new system.random(); int index = rand.next(0, 100 - exclude.count); return range.elementat(index); }
here's thinking:
- build hashset of numbers want exclude
- create collection of numbers 0-100 aren't in list of numbers exclude bit of linq.
- create random object.
- use random object give number between 0 , number of elements in range of numbers (inclusive).
- return number @ index.
Comments
Post a Comment