Erez
Erez

Reputation: 6446

Check if parameter int is in range of hex?

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

Answers (3)

LukeH
LukeH

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

Darin Dimitrov
Darin Dimitrov

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

Rex M
Rex M

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

Related Questions