Skip to main content
Code Review

Return to Answer

replaced http://codereview.stackexchange.com/ with https://codereview.stackexchange.com/
Source Link

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;
deleted 113 characters in body
Source Link
t3chb0t
  • 44.7k
  • 9
  • 84
  • 190

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;
Source Link
t3chb0t
  • 44.7k
  • 9
  • 84
  • 190

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.

lang-cs

AltStyle によって変換されたページ (->オリジナル) /