Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

What I'd like to know is how to turn a string into an operator.

I'd like to be able to compare one value with another, and the condition for whether it is true or not is a string. For example the string might ne '>' or '>=' or something else I can define like 'GREATER_THAN'.

Is the best way just a case or is there something better using all the wizadry of C#?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
310 views
Welcome To Ask or Share your Answers For Others

1 Answer

You can use this simple method:

private bool Compare(string operator, int x, int y)
{
    switch (operator)
    {
        case ">": return x > y;
        case "<": return x < y;
        case "==": return x == y;
        ... etc.            
    }
}

bool result = Compare(">", 6, 8);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...