Check if int parameter is in range from hex?

I am getting hexadecimal values ​​and should know if mine (parameter INT) is in the range of values. eg:

public bool IsInTheRange(int parameter) {
    string range = "0A-0F";
    return = ????  
}

How to check if a parameter is in the range 0A-0F?

+3
source share
3 answers

Do I need to specify a range as a string?

public bool IsInTheRange(int parameter)
{
    int rangeMin = 0x0A;
    int rangeMax = 0x0F;

    return (parameter >= rangeMin) && (parameter <= rangeMax);
}

... and if necessary for the line, you still have to parse this line at the minimum and maximum limits:

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]);
}
+4
source

A bit fragile (assuming the range is in 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;
}
+3
source
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];
}
+1
source

All Articles