You write in your comment comment
So
paths[0]
,paths[1]
,paths[3]
,paths[6]
are true, that means I want the method to generate a random number from 0,1,3,6. [...].
You can achieve this with LINQ
:
// a few test values
var paths = new[] { true, true, false, true, false, false, true };
// initialize random numbers generator
var rnd = new Random((int)DateTime.Now.Ticks);
// get a random number for each 'true' value
var randomNumber = paths.Where(p => p).Select(p => rnd.Next(0, 4)).ToArray();
Remember to use constants instead of magic numbers:
const int minNumber = 0;
const int maxNumber = 4;
You write in your comment
So
paths[0]
,paths[1]
,paths[3]
,paths[6]
are true, that means I want the method to generate a random number from 0,1,3,6. [...].
You can achieve this with LINQ
:
// a few test values
var paths = new[] { true, true, false, true, false, false, true };
// initialize random numbers generator
var rnd = new Random((int)DateTime.Now.Ticks);
// get a random number for each 'true' value
var randomNumber = paths.Where(p => p).Select(p => rnd.Next(0, 4)).ToArray();
Remember to use constants instead of magic numbers:
const int minNumber = 0;
const int maxNumber = 4;
You write in your comment
So
paths[0]
,paths[1]
,paths[3]
,paths[6]
are true, that means I want the method to generate a random number from 0,1,3,6. [...].
You can achieve this with LINQ
:
// a few test values
var paths = new[] { true, true, false, true, false, false, true };
// initialize random numbers generator
var rnd = new Random((int)DateTime.Now.Ticks);
// get a random number for each 'true' value
var randomNumber = paths.Where(p => p).Select(p => rnd.Next(0, 4)).ToArray();
Remember to use constants instead of magic numbers:
const int minNumber = 0;
const int maxNumber = 4;
According toYou write in your your commentcomment you
So
paths[0]
,paths[1]
,paths[3]
,paths[6]
are true, that means I want the method to generate a random number from 0,1,3,6. [...].
You can useachieve this with LINQ
to get the results you want like this:
// somea few test values
var paths = new[] { true, true, false, true, false, false, true };
// initialize random numbers generator
var rnd = new Random((int)DateTime.Now.Ticks);
// get a random number for each 'true' value
var randomNumber = paths.Where(p => p).Select(p => rnd.Next(0, 4)).ToArray();
I also suggestRemember to use some constats for the min and maxconstants instead of magic numbers:
const int minNumber = 0;
const int maxNumber = 4;
var randomNumber = paths
.Where(p => p)
.Select(p => rnd.Next(minNumber, maxNumber))
.ToArray();
ToArray
is actually optional and depends on what you are going to do with the results next.
According to your comment you can use LINQ
to get the results you want like this:
// some test values
var paths = new[] { true, true, false, true, false, false, true };
// initialize random numbers generator
var rnd = new Random((int)DateTime.Now.Ticks);
// get a random number for each 'true' value
var randomNumber = paths.Where(p => p).Select(p => rnd.Next(0, 4)).ToArray();
I also suggest to use some constats for the min and max numbers:
const int minNumber = 0;
const int maxNumber = 4;
var randomNumber = paths
.Where(p => p)
.Select(p => rnd.Next(minNumber, maxNumber))
.ToArray();
ToArray
is actually optional and depends on what you are going to do with the results next.
You write in your comment
So
paths[0]
,paths[1]
,paths[3]
,paths[6]
are true, that means I want the method to generate a random number from 0,1,3,6. [...].
You can achieve this with LINQ
:
// a few test values
var paths = new[] { true, true, false, true, false, false, true };
// initialize random numbers generator
var rnd = new Random((int)DateTime.Now.Ticks);
// get a random number for each 'true' value
var randomNumber = paths.Where(p => p).Select(p => rnd.Next(0, 4)).ToArray();
Remember to use constants instead of magic numbers:
const int minNumber = 0;
const int maxNumber = 4;
According to your comment you can use LINQ
to get the results you want like this:
// some test values
var paths = new[] { true, true, false, true, false, false, true };
// initialize random numbers generator
var rnd = new Random((int)DateTime.Now.Ticks);
// get a random number for each 'true' value
var randomNumber = paths.Where(p => p).Select(p => rnd.Next(0, 4)).ToArray();
I also suggest to use some constats for the min and max numbers:
const int minNumber = 0;
const int maxNumber = 4;
var randomNumber = paths
.Where(p => p)
.Select(p => rnd.Next(minNumber, maxNumber))
.ToArray();
ToArray
is actually optional and depends on what you are going to do with the results next.