Reputation: 6446
I get hex values and need to know if my (parameter that is INT) is in the range of the values. for example:
public bool IsInTheRange(int parameter) {
string range = "0A-0F";
return = ????
}
How can I check if the parameter is in the range of 0A-0F ?
Upvotes: 3
Views: 1856
Reputation: 269368
Does the range really need to be specified as a string?
public bool IsInTheRange(int parameter)
{
int rangeMin = 0x0A;
int rangeMax = 0x0F;
return (parameter >= rangeMin) && (parameter <= rangeMax);
}
...and if it does need to be a string then you'll still need to parse that string into min and max bounds:
public bool IsInTheRange(int parameter)
{
string range = "0A-0F";
string rangeArray = range.Split('-')
.Select(x => int.Parse(x, NumberStyles.HexNumber))
.ToArray();
return (parameter >= rangeArray[0]) && (parameter <= rangeArray[1]);
}
Upvotes: 4
Reputation: 1038780
public static bool IsInTheRange(int parameter)
{
string range = "0A-0F";
var tokens = range
.Split('-')
.Select(x => int.Parse(x, NumberStyles.HexNumber))
.ToArray();
return tokens[0] <= parameter && parameter <= tokens[1];
}
Upvotes: 1
Reputation: 144112
A little brittle (assumes the range is in a good format, etc):
public bool IsInTheRange(int parameter)
{
string range = "0A-OF";
int min = int.Parse(range.Split('-')[0], System.Globalization.NumberStyles.HexNumber);
int max = int.Parse(range.Split('-')[1], System.Globalization.NumberStyles.HexNumber);
return parameter >= min && parameter <= max;
}
Upvotes: 3